/*!
 * 新生堂妇产医院 - 前台响应式基础样式
 * 断点：>=992px PC / 768~991px 平板 / <768px 移动
 */

/* ============================ 1. 变量与重置 ============================ */
:root {
    --xst-primary: #ff6022;
    --xst-primary-dark: #e54d13;
    --xst-primary-light: #ff8034;
    --xst-green: #79cd6a;
    /* 品牌辅助色：取自 LOGO 与医院环境实景中的 #70a934，用于点缀 */
    --xst-brand: #70a934;
    --xst-brand-dark: #5a8a26;
    --xst-brand-light: #93c456;
    --xst-brand-tint: #eef6e3;
    --xst-pink: #fff5f1;
    --xst-text: #333333;
    --xst-text-2: #5d5f63;
    --xst-muted: #9a9ca0;
    --xst-line: #eeeeee;
    --xst-bg: #f7f8fa;
    --xst-radius: 8px;
    --xst-shadow: 0 6px 20px rgba(0, 0, 0, .06);
    --xst-container: 1200px;
}

* {
    -webkit-tap-highlight-color: transparent;
}

html,
body {
    margin: 0;
    padding: 0;
}

body {
    color: var(--xst-text);
    font-size: 14px;
    line-height: 1.6;
    background: #fff;
    font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color .2s, background .2s;
}

a:hover {
    color: var(--xst-primary);
}

img {
    max-width: 100%;
    border: none;
    vertical-align: middle;
}

ul,
ol,
li {
    margin: 0;
    padding: 0;
    list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    font-weight: normal;
}

input,
button {
    font-family: inherit;
    outline: none;
}

/* 内容容器 */
.xst-container {
    width: 100%;
    max-width: var(--xst-container);
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

/* ============================ 2. 通用工具类 ============================ */
.row { display: flex; flex-direction: row; }
.column { display: flex; flex-direction: column; }
.row-center { display: flex; align-items: center; justify-content: center; }
.row-between { display: flex; align-items: center; justify-content: space-between; }
.row-around { display: flex; align-items: center; justify-content: space-around; }
.row-start { display: flex; align-items: center; justify-content: flex-start; }
.column-center { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.wrap { flex-wrap: wrap; }
.flex-1 { flex: 1; }

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.no-wrap { white-space: nowrap; }
.cursor { cursor: pointer; }
.bg-white { background: #fff; }
.bg-gray { background: var(--xst-bg); }
.br3 { border-radius: 3px; }
.br-round { border-radius: 50%; }
.u-shadow { box-shadow: var(--xst-shadow); }

/* 字号 */
.xxs { font-size: 12px; }
.xs { font-size: 13px; }
.nr { font-size: 14px; }
.md { font-size: 15px; }
.lg { font-size: 16px; }
.xl { font-size: 20px; }
.xxl { font-size: 26px; }
.f27 { font-size: 27px; }
.bold { font-weight: bold; }
.normal { font-weight: normal; }

/* 字色 */
.primary { color: var(--xst-primary); }
.white { color: #fff; }
.black { color: #333; }
.muted { color: var(--xst-muted); }
.lighter { color: var(--xst-text-2); }

/* 间距 */
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.ml5 { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.mr5 { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.p10 { padding: 10px; }
.p15 { padding: 15px; }
.p20 { padding: 20px; }
.p30 { padding: 30px; }

/* 多行省略 */
.line1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.line2,
.line3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.line2 { -webkit-line-clamp: 2; }
.line3 { -webkit-line-clamp: 3; }

/* 图标 */
.icon {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    vertical-align: -.15em;
}
.icon-fill { fill: currentColor; stroke: none; }

/* 按钮 */
.xst-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 40px;
    padding: 0 24px;
    border: 1px solid var(--xst-primary);
    border-radius: 40px;
    background: var(--xst-primary);
    color: #fff;
    font-size: 14px;
    cursor: pointer;
    transition: all .25s;
}
.xst-btn:hover { background: var(--xst-primary-dark); border-color: var(--xst-primary-dark); color: #fff; }
.xst-btn--ghost { background: transparent; color: var(--xst-primary); }
.xst-btn--ghost:hover { background: var(--xst-primary); color: #fff; }
.xst-btn--white { background: #fff; border-color: #fff; color: var(--xst-primary); }
.xst-btn--white:hover { background: var(--xst-primary-light); border-color: var(--xst-primary-light); color: #fff; }
.xst-btn--outline { background: transparent; border-color: rgba(255, 255, 255, .75); color: #fff; }
.xst-btn--outline:hover { background: #fff; border-color: #fff; color: var(--xst-primary); }
.xst-btn--block { display: flex; width: 100%; }

/* 图标雪碧图容器 */
.xst-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ============================ 3. 头部导航 ============================ */
.xst-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .05);
}

.xst-header__top {
    height: 36px;
    line-height: 36px;
    background: var(--xst-pink);
    color: var(--xst-text-2);
    font-size: 12px;
}
.xst-header__top .xst-container { display: flex; align-items: center; justify-content: space-between; }
.xst-header__top .contact span + span { margin-left: 15px; }

.xst-header__main {
    height: 96px;
    display: flex;
    align-items: center;
}
.xst-header__main .xst-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.xst-logo { display: flex; align-items: center; flex: none; }
.xst-logo img { height: 60px; }
.xst-logo__m { display: none; }

/* 栏目较多（8 项），收紧间距保证单行不溢出 1200 容器 */
.xst-nav { display: flex; align-items: center; flex-wrap: nowrap; margin-left: 12px; }
.xst-nav__item { position: relative; }
.xst-nav__link {
    display: block;
    height: 96px;
    line-height: 96px;
    padding: 0 9px;
    font-size: 14px;
    color: var(--xst-text);
    white-space: nowrap;
}
.xst-nav__caret { font-size: 12px; margin-left: 2px; vertical-align: 0; }
.xst-nav__link.on,
.xst-nav__link:hover { color: var(--xst-primary); }
.xst-nav__item:hover .xst-nav__link { color: var(--xst-primary); }
.xst-nav__item:hover::after {
    content: "";
    position: absolute;
    left: 9px;
    right: 9px;
    bottom: 18px;
    height: 2px;
    background: var(--xst-primary);
}
.xst-nav__sub {
    position: absolute;
    top: 96px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 140px;
    padding: 8px 0;
    background: #fff;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .1);
    opacity: 0;
    visibility: hidden;
    transition: all .25s;
}
.xst-nav__item:hover .xst-nav__sub { opacity: 1; visibility: visible; }
.xst-nav__sub a {
    display: block;
    padding: 8px 20px;
    font-size: 13px;
    color: var(--xst-text-2);
    white-space: nowrap;
}
.xst-nav__sub a:hover { background: var(--xst-pink); color: var(--xst-primary); }

.xst-header__extra { display: flex; align-items: center; flex: none; margin-left: 10px; }

/* 内页头部返回按钮（仅移动端显示） */
.xst-header__back {
    display: none;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    flex: none;
    border: none;
    background: transparent;
    color: #fff;
    padding: 0;
    margin-left: -10px;
}
.xst-header__back .icon { font-size: 26px; }
.xst-header__tel { display: flex; align-items: center; color: var(--xst-primary); }
.xst-header__tel .icon { font-size: 24px; margin-right: 6px; }
.xst-header__tel b { font-size: 18px; }

.xst-nav-toggle {
    display: none;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--xst-primary);
    cursor: pointer;
}
.xst-nav-toggle .icon { font-size: 24px; }

/* 移动端抽屉 */
.xst-drawer { position: fixed; inset: 0; z-index: 1100; display: none; }
.xst-drawer.show { display: block; }
.xst-drawer__mask { position: absolute; inset: 0; background: rgba(0, 0, 0, .45); }
.xst-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 78%;
    max-width: 320px;
    background: #fff;
    overflow-y: auto;
    padding: 60px 0 20px;
    animation: drawerIn .25s ease;
}
@keyframes drawerIn { from { transform: translateX(100%); } to { transform: translateX(0); } }
.xst-drawer__close {
    position: absolute;
    top: 12px;
    right: 15px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: var(--xst-bg);
    border-radius: 50%;
    cursor: pointer;
}
/* 抽屉左上角水印 LOGO（与页脚左侧 LOGO 同图） */
.xst-drawer__logo {
    position: absolute;
    top: 12px;
    right: 20px;
    display: flex;
    align-items: center;
}
.xst-drawer__logo img { height: 90px !important; width: auto; }
.xst-drawer__item { border-bottom: 1px solid var(--xst-line); }
.xst-drawer__item > a {
    display: block;
    padding: 14px 20px;
    font-size: 15px;
}
.xst-drawer__children { padding: 0 20px 12px; display: flex; flex-wrap: wrap; }
.xst-drawer__children a {
    padding: 4px 12px;
    margin: 0 8px 8px 0;
    background: var(--xst-bg);
    border-radius: 20px;
    font-size: 13px;
    color: var(--xst-text-2);
}

/* 顶部占位（导航栏固定：信息条 36px + 头部 96px） */
.xst-header-placeholder { height: 132px; }

/* ============================ 4. 首页轮播 ============================ */
.xst-banner { position: relative; overflow: hidden; background: var(--xst-pink); }
/* 所有轮播项叠放在同一网格单元：容器高度取自最高项，JS 失效也不会塌陷 */
.xst-banner__list { display: grid; }
.xst-banner__item {
    position: relative;
    grid-area: 1 / 1;
    height: 460px;
    background-color: var(--xst-primary);
    background-image: linear-gradient(120deg, #ff8a4c, #ff6022);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.02);
    transition: opacity .7s ease, transform .7s ease;
}
.xst-banner__item.is-active { opacity: 1; visibility: visible; transform: scale(1); z-index: 2; }
/* 指示器 */
.xst-banner__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 22px;
    z-index: 3;
    display: flex;
    justify-content: center;
    gap: 10px;
}
.xst-banner__dots span {
    width: 26px;
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, .55);
    cursor: pointer;
    transition: background .3s, width .3s;
}
.xst-banner__dots span:hover { background: rgba(255, 255, 255, .85); }
.xst-banner__dots span.on { width: 42px; background: #fff; }
.xst-banner__item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0, 0, 0, .45), rgba(0, 0, 0, 0));
}
.xst-banner__content { position: relative; z-index: 2; color: #fff; max-width: 640px; }
.xst-banner__tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .18);
    font-size: 13px;
    margin-bottom: 16px;
}
.xst-banner__title { font-size: 36px; font-weight: bold; line-height: 1.3; }
.xst-banner__desc { margin-top: 14px; font-size: 15px; opacity: .9; }
.xst-banner__btns { margin-top: 26px; display: flex; }
.xst-banner__btns .xst-btn + .xst-btn { margin-left: 12px; }
.xst-banner .layui-carousel-ind { position: absolute; bottom: 20px; left: 0; right: 0; }

/* ============================ 5. 快捷服务入口 ============================ */
.xst-quick {
    position: relative;
    margin-top: -60px;
    z-index: 3;
}
.xst-quick__box {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border-radius: var(--xst-radius);
    box-shadow: var(--xst-shadow);
    overflow: hidden;
}
.xst-quick__item {
    padding: 22px 20px;
    border-right: 1px solid var(--xst-line);
    transition: background .25s;
}
.xst-quick__item:last-child { border-right: none; }
.xst-quick__item:hover { background: var(--xst-pink); }
.xst-quick__item > a { display: block; }
.xst-quick__item .icon { font-size: 34px; color: var(--xst-primary); }
.xst-quick__item h4 { margin-top: 10px; font-size: 16px; font-weight: bold; }
.xst-quick__item p { margin-top: 4px; font-size: 12px; color: var(--xst-muted); }
.xst-quick__links { margin-top: 10px; display: flex; flex-wrap: wrap; }
.xst-quick__links a {
    margin: 0 8px 6px 0;
    font-size: 12px;
    color: var(--xst-text-2);
}
.xst-quick__links a:hover { color: var(--xst-primary); }

/* ============================ 6. 通用区块 ============================ */
.xst-section { padding: 60px 0; }
.xst-section--gray { background: var(--xst-bg); }
.xst-section__head { text-align: center; margin-bottom: 40px; }
.xst-section__title { font-size: 28px; font-weight: bold; color: #222; }
.xst-section__title small {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    font-weight: normal;
    letter-spacing: 1px;
    color: var(--xst-brand);
    text-transform: uppercase;
}
/* 标题下的绿色短线点缀 */
.xst-section__title::after {
    content: "";
    display: block;
    width: 36px;
    height: 3px;
    margin: 10px auto 0;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--xst-brand), var(--xst-brand-light));
}
.xst-section__sub { margin-top: 12px; font-size: 14px; color: var(--xst-text-2); }
/* 左对齐标题（用于图文左右排版区块） */
.xst-section__head--left { text-align: left; margin-bottom: 24px; }
.xst-section__head--left .xst-section__title small { margin-top: 4px; }
.xst-section__head--left .xst-section__title::after { margin-left: 0; }
.xst-section__head .xst-section__more {
    display: inline-flex;
    align-items: center;
    margin-top: 14px;
    font-size: 13px;
    color: var(--xst-primary);
}
.xst-section__head .xst-section__more .icon { font-size: 14px; }

/* ============================ 7. 关于医院 ============================ */
.xst-about__box { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.xst-about__info h3 { font-size: 24px; font-weight: bold; }
.xst-about__info p { margin-top: 16px; font-size: 14px; line-height: 1.9; color: var(--xst-text-2); }
.xst-about__points { margin-top: 20px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 20px; }
.xst-about__points li { display: flex; align-items: flex-start; font-size: 14px; color: var(--xst-text-2); }
.xst-about__points .icon {
    font-size: 16px;
    color: var(--xst-brand);
    margin-right: 8px;
    margin-top: 4px;
    padding: 2px;
    border-radius: 50%;
    background: var(--xst-brand-tint);
}
.xst-about__gallery { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 10px; height: 340px; }
.xst-about__gallery a { position: relative; overflow: hidden; border-radius: var(--xst-radius); }
.xst-about__gallery a:first-child { grid-row: span 2; }
.xst-about__gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.xst-about__gallery a:hover img { transform: scale(1.05); }
/* 悬停时的绿色点缀描边（呼应环境实景中的 #70a934） */
.xst-about__gallery a::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: var(--xst-radius);
    box-shadow: inset 0 0 0 0 var(--xst-brand);
    transition: box-shadow .3s;
    pointer-events: none;
}
.xst-about__gallery a:hover::after { box-shadow: inset 0 0 0 3px var(--xst-brand); }

/* ============================ 8. 特色科室 ============================ */
.xst-dept { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.xst-dept__item {
    display: flex;
    align-items: center;
    padding: 28px 24px;
    background: #fff;
    border-radius: var(--xst-radius);
    box-shadow: var(--xst-shadow);
    transition: transform .25s, box-shadow .25s;
}
.xst-dept__item:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(255, 96, 34, .14); }
.xst-dept__icon {
    width: 66px;
    height: 66px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--xst-pink);
    color: var(--xst-primary);
}
.xst-dept__icon .icon { font-size: 32px; }
.xst-dept__info { display: block; flex: 1; min-width: 0; margin-left: 18px; }
.xst-dept__info h4 { font-size: 18px; font-weight: bold; }
.xst-dept__info h4 em { font-style: normal; font-size: 12px; color: var(--xst-muted); margin-left: 6px; }
.xst-dept__info p { margin-top: 6px; font-size: 13px; color: var(--xst-text-2); }
.xst-dept__subtitle { margin-top: 6px; font-size: 13px; line-height: 1.6; color: var(--xst-text-2); }

/* ============================ 9. 专家团队 ============================ */
.xst-doctor { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.xst-doctor__item {
    background: #fff;
    border-radius: var(--xst-radius);
    overflow: hidden;
    box-shadow: var(--xst-shadow);
    transition: transform .25s;
}
.xst-doctor__item:hover { transform: translateY(-4px); }
.xst-doctor__avatar { position: relative; height: 240px; background: var(--xst-pink); overflow: hidden; }
.xst-doctor__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.xst-doctor__empty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--xst-primary);
    font-size: 40px;
    font-weight: bold;
    background: linear-gradient(160deg, #fff5f1, #ffe6dc);
}
.xst-doctor__body { padding: 16px; text-align: center; }
.xst-doctor__body h4 { font-size: 16px; font-weight: bold; }
.xst-doctor__body h4 em { font-style: normal; font-size: 12px; font-weight: normal; color: var(--xst-primary); margin-left: 6px; }
.xst-doctor__body p { margin-top: 8px; font-size: 12px; color: var(--xst-muted); }

/* ============================ 10. 医院环境 ============================ */
.xst-env { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.xst-env__item {
    position: relative;
    height: 200px;
    border-radius: var(--xst-radius);
    overflow: hidden;
    display: flex;
    align-items: flex-end;
}
.xst-env__item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .45));
}
.xst-env__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.xst-env__item:hover img { transform: scale(1.06); }
/* 绿色点缀：标题上方的短绿线 + 悬停绿色描边与绿色渐变蒙层 */
.xst-env__item h4 { position: relative; z-index: 2; width: 100%; padding: 14px; color: #fff; font-size: 15px; }
.xst-env__item h4::before {
    content: "";
    display: block;
    width: 24px;
    height: 2px;
    margin-bottom: 8px;
    border-radius: 2px;
    background: var(--xst-brand-light);
    transition: width .3s;
}
.xst-env__item:hover h4::before { width: 40px; background: #fff; }
.xst-env__item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: var(--xst-radius);
    box-shadow: inset 0 0 0 0 var(--xst-brand);
    transition: box-shadow .3s;
    pointer-events: none;
}
.xst-env__item:hover::before { box-shadow: inset 0 0 0 3px var(--xst-brand); }
.xst-env__item:hover::after { background: linear-gradient(180deg, rgba(112, 169, 52, 0), rgba(90, 138, 38, .72)); }
.xst-env__item--empty { background: linear-gradient(140deg, #e4f1d0, #c2dd9b); }

/* ============================ 10.1 特色服务（特色医疗/套餐服务列表） ============================ */
.xst-service-banner { max-height: 360px; overflow: hidden; }
.xst-service-banner img { display: block; width: 100%; }
.xst-service-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.xst-service-item {
    display: flex;
    background: #fff;
    border-radius: var(--xst-radius);
    overflow: hidden;
    box-shadow: var(--xst-shadow);
    transition: transform .25s, box-shadow .25s;
}
.xst-service-item:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(255, 96, 34, .14); }
.xst-service-item__img { flex: none; width: 180px; min-height: 150px; background: var(--xst-pink); overflow: hidden; }
.xst-service-item__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.xst-service-item:hover .xst-service-item__img img { transform: scale(1.06); }
.xst-service-item__empty {
    width: 100%;
    height: 100%;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--xst-primary);
    font-size: 40px;
    background: linear-gradient(160deg, #fff5f1, #ffe6dc);
}
.xst-service-item__body { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 18px 20px 14px; }
.xst-service-item__body h3 { font-size: 18px; font-weight: bold; color: var(--xst-primary); }
.xst-service-item__body p { margin-top: 8px; font-size: 13px; line-height: 1.7; color: var(--xst-text-2); }
.xst-service-item__more {
    margin-top: auto;
    padding-top: 10px;
    font-style: normal;
    font-size: 13px;
    color: var(--xst-primary);
}
.xst-doctor--3 { grid-template-columns: repeat(3, 1fr); }

/* ============================ 11. 数据实力 ============================ */
.xst-numbers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.xst-numbers__item {
    position: relative;
    text-align: center;
    padding: 22px 10px 20px;
    border-radius: var(--xst-radius);
    overflow: hidden;
    background: transparent;
    cursor: default;
    /* 光斑中心（纯 CSS 居中，:hover 时点亮） */
    --xst-mx: 50%;
    --xst-my: 40%;
    transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, background .3s;
}
.xst-numbers__item b { display: block; font-size: 34px; color: var(--xst-primary); font-weight: bold; transition: transform .35s cubic-bezier(.2, .8, .2, 1), color .3s; }
/* 只作用于标签文案（> span），不影响数字 */
.xst-numbers__item > span {
    font-size: 13px;
    color: var(--xst-text-2);
    transition: color .3s;
}

/* 鼠标移入响应：卡片浮起 + 跟随光标的光斑 + 底部高亮条 + 数字放大 */
.xst-numbers__item::before {                    /* 跟随光标的光斑 */
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(160px circle at var(--xst-mx) var(--xst-my), rgba(255, 96, 34, .16), rgba(255, 96, 34, 0) 70%);
    opacity: 0;
    transition: opacity .3s;
    pointer-events: none;
}
.xst-numbers__item::after {                     /* 底部渐变高亮条 */
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 3px;
    transform: translateX(-50%);
    border-radius: 3px;
    background: linear-gradient(90deg, rgba(255, 96, 34, 0), var(--xst-primary), rgba(255, 96, 34, 0));
    transition: width .4s cubic-bezier(.2, .8, .2, 1);
    pointer-events: none;
}
.xst-numbers__item:hover {
    background: #fff;
    transform: translateY(-6px);
    box-shadow: 0 14px 30px rgba(255, 96, 34, .16), 0 2px 8px rgba(0, 0, 0, .05);
}
.xst-numbers__item:hover::before { opacity: 1; }
.xst-numbers__item:hover::after { width: 72%; }
.xst-numbers__item:hover b { color: var(--xst-primary-dark); transform: translateY(-2px) scale(1.06); }
.xst-numbers__item:hover > span { color: var(--xst-text); }

/* 入场动效：从上到下渐入（同 animate.css 的 fadeInDown，未引入库），卡片逐个错开。
   用 backwards 而非 both：动画结束后不再占用 transform，hover 浮起/放大不受影响 */
.xst-numbers__item:nth-child(2) { --xst-fade-delay: 120ms; }
.xst-numbers__item:nth-child(3) { --xst-fade-delay: 240ms; }
.xst-numbers__item:nth-child(4) { --xst-fade-delay: 360ms; }
.xst-numbers__item:nth-child(n + 5) { --xst-fade-delay: 480ms; }
.xst-numbers__item b,
.xst-numbers__item > span {
    animation: xstFadeInDown .8s cubic-bezier(.2, .8, .2, 1) var(--xst-fade-delay, 0ms) backwards;
}
.xst-numbers__item > span { animation-delay: calc(var(--xst-fade-delay, 0ms) + 150ms); }
@keyframes xstFadeInDown {
    from { opacity: 0; transform: translate3d(0, -100%, 0); }
    to { opacity: 1; transform: none; }
}

/* ============================ 12. 新闻资讯 ============================ */
.xst-news__tabs { display: flex; justify-content: center; flex-wrap: wrap; border-bottom: 1px solid var(--xst-line); }
.xst-news__tabs li {
    padding: 10px 22px;
    margin-bottom: -1px;
    font-size: 15px;
    color: var(--xst-text-2);
    cursor: pointer;
    border-bottom: 2px solid transparent;
}
.xst-news__tabs li.on { color: var(--xst-primary); border-bottom-color: var(--xst-primary); }
.xst-news__pane { display: none; padding-top: 24px; }
.xst-news__pane.on { display: block; }
.xst-news__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 40px; }
.xst-news__item { padding: 16px 0; border-bottom: 1px dashed var(--xst-line); }
.xst-news__item:last-child { border-bottom: none; }
.xst-news__item a { display: flex; gap: 14px; overflow: hidden; }
.xst-news__item .thumb { flex-shrink: 0; width: 140px; height: 94px; border-radius: 6px; overflow: hidden; background: var(--xst-line); }
.xst-news__item .thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.xst-news__item .info { flex: 1; min-width: 0; }
.xst-news__item .head { display: flex; align-items: center; justify-content: space-between; min-width: 0; }
.xst-news__item h4 { font-size: 15px; font-weight: bold; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xst-news__item .time { flex-shrink: 0; margin-left: 12px; font-size: 12px; color: var(--xst-muted); }
.xst-news__item p { margin-top: 6px; font-size: 13px; color: var(--xst-muted); }

/* ============================ 13. 预约 CTA ============================ */
.xst-cta {
    padding: 50px 0;
    background: linear-gradient(100deg, var(--xst-primary), var(--xst-primary-light));
    color: #fff;
}
.xst-cta__box { display: flex; align-items: center; justify-content: space-between; }
.xst-cta h3 { font-size: 26px; font-weight: bold; }
.xst-cta p { margin-top: 8px; font-size: 14px; opacity: .92; }
.xst-cta__btns { display: flex; }
.xst-cta__btns .xst-btn + .xst-btn { margin-left: 12px; }

/* ============================ 14. 页脚 ============================ */
.xst-footer { background: #f7f8fa; color: #666; font-size: 13px; clear: both; }
.xst-footer a { color: #666; }
.xst-footer a:hover { color: #fa602b; }

/* 深色服务条（在线咨询 / 热线 / 来院路线 / 微信咨询），避免与上方橙色 CTA 横幅连成一片 */
.xst-footer__bar { background: #343a46; }
.xst-footer__bar ul { display: flex; align-items: stretch; flex-wrap: nowrap; }
.xst-footer__bar li {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 55px;
    position: relative;
    transition: background .2s;
}
.xst-footer__bar li:hover { background: rgba(255, 255, 255, .07); }
.xst-footer__bar li a,
.xst-footer__bar .xst-footer__bar-label { display: flex; align-items: center; color: #fff; }
.xst-footer__bar .icon { font-size: 30px; color: #ff8034; margin-right: 12px; }
.xst-footer__bar b { font-size: 18px; color: #fff; font-weight: normal; }
.xst-footer__bar a:hover { color: #fff; }
.xst-footer__bar .qr { cursor: pointer; }
.xst-footer__bar .qr-pop {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 165px;
    margin-bottom: 14px;
    padding: 12px 10px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    text-align: center;
    color: #666;
    display: none;
    z-index: 5;
}
.xst-footer__bar .qr-pop::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -8px;
    border: 8px solid transparent;
    border-top-color: #eee;
}
.xst-footer__bar .qr:hover .qr-pop { display: block; }
.xst-footer__bar .qr-pop { border-color: rgba(255, 128, 52, .25); box-shadow: 0 8px 24px rgba(0, 0, 0, .12), 0 0 12px rgba(255, 128, 52, .12); }
.xst-footer__bar .qr-pop img { width: 110px; height: 110px; }
.xst-footer__bar .qr-pop p { line-height: 20px; }
.xst-footer__bar .qr-pop strong { color: #fa602b; font-weight: normal; }

/* 主体：左 LOGO | 虚线 | 中间栏目 | 虚线 | 右二维码联系方式（与旧版一致） */
.xst-footer__main { display: flex; align-items: flex-start; padding-bottom: 10px; }
.xst-footer__logo { flex: none; padding-top: 30px; }
.xst-footer__logo img { width: 190px; }
.xst-footer__sep {
    flex: none;
    /* 绿色点缀：竖线改为渐隐的品牌绿 */
    width: 1px;
    border-left: 0;
    background: linear-gradient(180deg, rgba(112, 169, 52, 0), rgba(112, 169, 52, .5), rgba(112, 169, 52, 0));
    height: 190px;
    margin: 25px 30px 0;
}
.xst-footer__nav { flex: 1; min-width: 0; display: flex; margin-top: 18px; }
.xst-footer__nav > li { flex: 1; min-width: 0; }
.xst-footer__nav .title { display: block; height: 31px; line-height: 31px; margin-bottom: 8px; font-size: 14px; }
.xst-footer__nav .title a { color: #fa602b; }
.xst-footer__nav li li { line-height: 26px; }

/* 右侧：二维码 + 医院名称 / 微信号 + 地址电话邮箱微博 */
.xst-footer__wx { flex: none; width: 230px; margin-top: 18px; color: #a7a7a7; font-size: 12px; }
.xst-footer__wx dl { overflow: hidden; }
.xst-footer__wx dd {
    float: left;
    position: relative;
    width: 95px;
    height: 95px;
    margin-right: 10px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(255, 96, 34, .12);
}
.xst-footer__wx dd img { width: 95px; height: 95px; }
.xst-footer__wx dt { float: left; padding-top: 4px; line-height: 22px; }
.xst-footer__wx dt .name { display: block; color: #fa602b; font-size: 15px; margin-bottom: 4px; }
.xst-footer__wx p { clear: both; padding-top: 12px; line-height: 22px; }

/* 版权 */
.xst-footer__bottom { text-align: center; color: #999; font-size: 12px; padding: 12px 0 20px; border-top: 1px solid #e9ebef; }
.xst-footer__bottom a { margin: 0 4px; color: #999; }
.xst-footer__bottom a:hover { color: #fa602b; }

/* ============================ 14.1 边缘流光（光沿边框转动，突出推荐内容） ============================ */
/* 用法：<div class="卡片"><i class="xst-flow" aria-hidden="true"></i>…内容…</div>
   必须放在内容之前；父级需 position: relative/absolute，内容会被自动提到流光之上 */
.xst-flow {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    overflow: hidden;
    pointer-events: none;
    --xst-flow-bg: #fff;                       /* 内部遮罩色，需与所在卡片背景一致 */
    --xst-flow-color: var(--xst-primary-light);
}
.xst-flow::before {                           /* 旋转光源 */
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 180%;
    padding-bottom: 180%;                      /* 正方形，旋转时保证四边都被覆盖 */
    margin: -90% 0 0 -90%;
    background: conic-gradient(from 0deg,
        rgba(255, 128, 52, 0) 0deg,
        rgba(255, 128, 52, 0) 200deg,
        rgba(255, 128, 52, .28) 292deg,
        var(--xst-flow-color) 336deg,
        #ffe3d0 350deg,
        rgba(255, 128, 52, 0) 360deg);
    animation: xstFlowSpin 4s linear infinite;
}
.xst-flow::after {                             /* 只保留边框一圈 */
    content: "";
    position: absolute;
    inset: 2px;
    border-radius: inherit;
    background: var(--xst-flow-bg);
}
.xst-flow ~ * { position: relative; z-index: 1; }
@keyframes xstFlowSpin {
    from { transform: rotate(0); }
    to { transform: rotate(1turn); }
}
@media (prefers-reduced-motion: reduce) {
    .xst-flow::before { animation: none; }
}

/* ============================ 15. 悬浮工具 / 移动底部栏 ============================ */
.xst-float {
    position: fixed;
    right: 16px;
    top: 32%;
    z-index: 900;
    display: flex;
    flex-direction: column;
}
.xst-float__item {
    width: 56px;
    height: 56px;
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .1);
    color: var(--xst-text-2);
    font-size: 12px;
    cursor: pointer;
}
.xst-float__item .icon { font-size: 20px; color: var(--xst-primary); margin-bottom: 2px; }
.xst-float__item:hover { background: var(--xst-primary); color: #fff; }
.xst-float__item:hover .icon { color: #fff; }
.xst-float__item--qr { position: relative; }
.xst-float__qr {
    position: absolute;
    right: 66px;
    top: 0;
    padding: 12px;
    background: #fff;
    border-radius: 6px;
    box-shadow: var(--xst-shadow);
    display: none;
    text-align: center;
    color: #333;
}
.xst-float__item--qr:hover .xst-float__qr { display: block; }
.xst-float__qr img { display: block; width: 160px !important; height: auto; }

/* 电话悬浮弹出 */
.xst-float__item--pop { position: relative; text-decoration: none; }
.xst-float__pop {
    position: absolute;
    right: 66px;
    top: 0;
    padding: 16px 20px;
    background: #fff;
    border-radius: 6px;
    box-shadow: var(--xst-shadow);
    display: none;
    text-align: center;
    color: #333;
    white-space: nowrap;
}
.xst-float__item--pop:hover .xst-float__pop { display: block; color: #333; }
.xst-float__item--pop:hover .xst-float__pop .icon { color: var(--xst-primary); margin-bottom: 6px; }
.xst-float__pop-tel { font-size: 17px; font-weight: 600; color: var(--xst-text-1); }
.xst-float__pop .xs { color: #999; }

.xst-tabbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 950;
    display: none;
    background: #fff;
    border-top: 1px solid var(--xst-line);
    box-shadow: 0 -2px 10px rgba(0, 0, 0, .06);
}
.xst-tabbar__inner { display: flex; }
.xst-tabbar a {
    flex: 1;
    padding: 8px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--xst-text-2);
}
.xst-tabbar .icon { font-size: 20px; color: var(--xst-primary); margin-bottom: 2px; }
.xst-tabbar a.primary { background: var(--xst-primary); color: #fff; }
.xst-tabbar a.primary .icon { color: #fff; }

.xst-body-bottom { height: 0; }

/* ============================ 16. 响应式 ============================ */
@media screen and (max-width: 1200px) {
    .xst-news__list { gap: 0 30px; }
    /* 栏目较多时收紧导航间距，保证单行不溢出 */
    .xst-nav { margin-left: 10px; }
    .xst-nav__link { padding: 0 10px; font-size: 14px; }
    .xst-nav__item:hover::after { left: 10px; right: 10px; }
    .xst-header__tel b { font-size: 15px; }
}

@media screen and (max-width: 991px) {
    .xst-header__top { display: none; }
    .xst-header__main { height: 56px; }
    .xst-header-placeholder { height: 56px; }
    .xst-logo img { height: 34px; }
    .xst-nav { display: none; }
    .xst-nav-toggle { display: flex; }
    /* 移动端隐藏顶部电话（首页/内页一致），内页改为橙色条 + 返回 + 居中 LOGO */
    .xst-header__tel { display: none; }

    .xst-header--sub .xst-header__main { background: var(--xst-primary); }
    .xst-header--sub .xst-header__main .xst-container { position: relative; }
    .xst-header--sub .xst-header__back { display: flex; }
    .xst-header--sub .xst-nav-toggle { color: #fff; }
    .xst-header--sub .xst-logo {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    /* 内页移动端：橙色条 + 旧版顶部 LOGO（logo_top.png，后台 wap_logo 配置优先） */
    .xst-header--sub .xst-logo__pc { display: none; }
    .xst-header--sub .xst-logo__m { display: block; height: 30px; }

    .xst-banner__item { height: 320px; }
    .xst-banner__title { font-size: 26px; }
    .xst-banner__desc { font-size: 13px; }

    .xst-quick { margin-top: -40px; }
    .xst-quick__box { grid-template-columns: repeat(2, 1fr); }
    .xst-quick__item { border-bottom: 1px solid var(--xst-line); }
    .xst-quick__item:nth-child(2n) { border-right: none; }

    .xst-section { padding: 40px 0; }
    .xst-section__title { font-size: 22px; }

    .xst-about__box { grid-template-columns: 1fr; gap: 24px; }
    .xst-about__gallery { height: 260px; }

    .xst-dept { grid-template-columns: 1fr; gap: 14px; }
    .xst-doctor { grid-template-columns: repeat(2, 1fr); }
    .xst-doctor__avatar { height: 200px; }
    .xst-env { grid-template-columns: repeat(2, 1fr); }
    .xst-numbers { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .xst-numbers__item b { font-size: 26px; }

    .xst-news__list { grid-template-columns: 1fr; }

    .xst-cta__box { flex-direction: column; text-align: center; }
    .xst-cta h3 { font-size: 20px; }
    .xst-cta__btns { margin-top: 20px; }

    .xst-footer__main { flex-wrap: wrap; gap: 14px 24px; padding-bottom: 20px; }
    .xst-footer__sep { display: none; }
    .xst-footer__logo { padding-top: 20px; }
    .xst-footer__logo img { width: 160px; }
    .xst-footer__nav { flex: 0 0 100%; width: 100%; flex-wrap: wrap; gap: 10px 0; margin-top: 0; }
    .xst-footer__nav > li { flex: 0 0 25%; }
    .xst-footer__wx { flex: 0 0 100%; width: 100%; margin-top: 0; }
    .xst-footer__bar ul { flex-wrap: wrap; }
    .xst-footer__bar li { flex: 0 0 50%; border-bottom: 1px solid rgba(255, 255, 255, .12); }
    .xst-footer__bar li:nth-child(2n) { border-left: 1px solid rgba(255, 255, 255, .12); }
}

@media screen and (max-width: 767px) {
    .xst-container { padding: 0 12px; }

    .xst-banner__item { height: 220px; }
    .xst-banner__content { max-width: 100%; padding: 0 12px; }
    .xst-banner__title { font-size: 20px; }
    .xst-banner__desc { display: none; }
    .xst-banner__tag { padding: 2px 10px; font-size: 12px; margin-bottom: 10px; }
    .xst-banner__btns { margin-top: 16px; }
    .xst-banner__btns .xst-btn { height: 34px; padding: 0 16px; font-size: 13px; }

    .xst-quick { margin-top: 12px; }
    .xst-quick__box { grid-template-columns: repeat(2, 1fr); border-radius: 6px; }
    .xst-quick__item { padding: 14px; }
    .xst-quick__item .icon { font-size: 26px; }
    .xst-quick__item h4 { font-size: 14px; margin-top: 6px; }
    .xst-quick__item p,
    .xst-quick__links { display: none; }

    .xst-section { padding: 30px 0; }
    .xst-section__head { margin-bottom: 20px; }
    .xst-section__title { font-size: 19px; }
    .xst-section__sub { font-size: 13px; }

    .xst-about__info h3 { font-size: 19px; }
    .xst-about__points { grid-template-columns: 1fr; }
    .xst-about__gallery { height: 200px; gap: 6px; }

    .xst-dept__item { padding: 18px 14px; }
    .xst-dept__icon { width: 52px; height: 52px; }
    .xst-dept__icon .icon { font-size: 26px; }
    .xst-dept__subtitle { font-size: 13px; margin-top: 4px; }

    .xst-doctor { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .xst-doctor__avatar { height: 150px; }
    .xst-doctor__body { padding: 10px; }
    .xst-doctor__body h4 { font-size: 14px; }
    .xst-doctor__body h4 em { display: none; }

    .xst-env { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .xst-env__item { height: 120px; }
    .xst-env__item h4 { font-size: 13px; padding: 10px; }

    .xst-service-banner { max-height: 160px; }
    .xst-service-list { grid-template-columns: 1fr; gap: 12px; }
    .xst-service-item__img { width: 110px; min-height: 110px; }
    .xst-service-item__empty { min-height: 110px; font-size: 30px; }
    .xst-service-item__body { padding: 12px 14px 10px; }
    .xst-service-item__body h3 { font-size: 15px; }
    .xst-doctor--3 { grid-template-columns: repeat(2, 1fr); gap: 10px; }

    .xst-news__tabs li { padding: 8px 14px; font-size: 14px; }
    .xst-news__item h4 { font-size: 14px; white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
    .xst-news__item .time { display: none; }
    .xst-news__item a { gap: 10px; }
    .xst-news__item .thumb { width: 108px; height: 72px; }

    .xst-cta { padding: 30px 0; }
    .xst-cta h3 { font-size: 18px; }
    .xst-cta__btns { width: 100%; }
    .xst-cta__btns .xst-btn { flex: 1; height: 36px; padding: 0 10px; }

    /* 橙色服务条：一行四项，图标在上、文字在下 */
    .xst-footer__bar ul { flex-wrap: nowrap; }
    .xst-footer__bar li {
        flex: 1 1 auto;
        height: auto;
        padding: 10px 0 9px;
        border-bottom: 0;
    }
    .xst-footer__bar li + li { border-left: 1px solid rgba(255, 255, 255, .16); }
    .xst-footer__bar li a,
    .xst-footer__bar .xst-footer__bar-label {
        flex-direction: column;
        justify-content: center;
        width: 100%;
    }
    .xst-footer__bar .icon { font-size: 22px; margin: 0 0 5px; color: #ff8034; }
    .xst-footer__bar b { font-size: 12px; }

    /* 微信咨询：点击弹出二维码（固定居中，避开底部导航栏） */
    .xst-footer__bar .qr-pop {
        position: fixed;
        left: 50%;
        bottom: 66px;
        top: auto;
        transform: translateX(-50%);
        margin-bottom: 0;
    }
    .xst-footer__bar .qr.open .qr-pop { display: block; }

    /* 主体：隐藏左侧 LOGO + 栏目两列 + 联系方式卡片（flex-basis 强制换行，避免被压缩） */
    .xst-footer__main { flex-wrap: wrap; gap: 0; padding-bottom: 10px; }
    /* 移动端隐藏底部左侧 LOGO */
    .xst-footer__logo { display: none; }
    .xst-footer__nav { flex: 0 0 100%; width: 100%; margin: 16px 0 6px; gap: 0; }
    .xst-footer__nav > li { flex: 0 0 50%; margin-bottom: 14px; }
    .xst-footer__nav .title { height: auto; line-height: 1.4; margin-bottom: 4px; font-weight: 600; }
    .xst-footer__nav li li { line-height: 28px; }
    .xst-footer__wx {
        flex: 0 0 100%;
        width: 100%;
        margin-top: 2px;
        padding: 14px;
        border-radius: 10px;
    }
    .xst-footer__wx dd, .xst-footer__wx dd img { width: 85px; height: 85px; }
    .xst-footer__wx p { line-height: 24px; padding-top: 10px; }

    /* 版权 */
    .xst-footer__bottom { padding: 4px 12px 16px; line-height: 1.8; }

    .xst-float { display: none; }
    .xst-tabbar { display: flex; }
    /* 底部栏占位，并与页脚同色，使版权信息贴近页面底部 */
    .xst-body-bottom { height: 56px; background: #f7f8fa; }
}

/* ============================ 17. 内页（列表/详情） ============================ */
/* 内页通栏 banner */
.xst-page-banner {
    position: relative;
    height: 220px;
    display: flex;
    align-items: center;
    color: #fff;
    background: linear-gradient(120deg, #ff8a4c, #ff6022);
    background-size: cover;
    background-position: center;
}
.xst-page-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .25);
}
.xst-page-banner .xst-container { position: relative; z-index: 2; }
.xst-page-banner h2 { font-size: 30px; font-weight: bold; line-height: 1.4; }
.xst-page-banner .en { margin-top: 4px; font-size: 14px; opacity: .85; letter-spacing: 2px; }
.xst-page-banner .desc { margin-top: 10px; font-size: 14px; opacity: .9; max-width: 700px; }

/* 内页 banner 呼吸图（电脑端）：中心导航图标 + 三层同心圆呼吸律动 */
.xst-page-banner__breath { display: none; }
@media screen and (min-width: 768px) {
    .xst-page-banner__breath {
        display: flex;
        position: absolute;
        right: 6%;
        top: 50%;
        width: 160px;
        height: 160px;
        margin-top: -80px;
        align-items: center;
        justify-content: center;
        z-index: 1;
        pointer-events: none;
    }
    .xst-page-banner__breath .xst-breath__ring {
        position: absolute;
        inset: 0;
        border: 1px solid rgba(255, 255, 255, .5);
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 70%);
        animation: xstBreathRing 4.8s ease-in-out infinite;
    }
    .xst-page-banner__breath .xst-breath__ring--2 { animation-delay: 1.6s; }
    .xst-page-banner__breath .xst-breath__ring--3 { animation-delay: 3.2s; }
    .xst-page-banner__breath .xst-breath__core {
        position: relative;
        display: flex;
        width: 76px;
        height: 76px;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: #fff;
        background: rgba(255, 255, 255, .18);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55);
        backdrop-filter: blur(2px);
        animation: xstBreathCore 4.8s ease-in-out infinite;
    }
    .xst-page-banner__breath .xst-breath__core .icon { font-size: 34px; }
    .xst-page-banner__breath .xst-breath__core img {
        width: 46px;
        height: 46px;
        object-fit: contain;
        border-radius: 50%;
    }
    .xst-page-banner.has-breath .xst-container { padding-right: 200px; }
}
@keyframes xstBreathRing {
    0%, 100% { transform: scale(.55); opacity: .2; }
    50% { transform: scale(1); opacity: .9; }
}
@keyframes xstBreathCore {
    0%, 100% { transform: scale(.94); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55), 0 0 0 0 rgba(255, 255, 255, .3); }
    50% { transform: scale(1.06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .75), 0 0 26px 6px rgba(255, 255, 255, .22); }
}
@media (prefers-reduced-motion: reduce) {
    .xst-page-banner__breath .xst-breath__ring,
    .xst-page-banner__breath .xst-breath__core { animation: none; }
}

/* 面包屑 */
.xst-crumbs { padding: 16px 0; font-size: 13px; color: var(--xst-muted); }
.xst-crumbs a { color: var(--xst-muted); }
.xst-crumbs a:hover { color: var(--xst-primary); }
.xst-crumbs span { margin: 0 6px; color: #ccc; }
.xst-crumbs .icon { font-size: 13px; margin-right: 4px; }

/* 内页：banner/面包屑与正文之间留白收紧 */
.xst-page-banner + .xst-container + .xst-section { padding-top: 20px; }
.xst-page-banner + .xst-container .xst-crumbs { padding: 12px 0 4px; }

/* 两栏布局：侧边栏 + 主内容 */
.xst-layout { display: flex; align-items: flex-start; gap: 30px; }
.xst-layout__side { width: 260px; flex-shrink: 0; }
.xst-layout__main { flex: 1; min-width: 0; }

/* 侧栏卡片 */
.xst-side-card { background: #fff; border-radius: var(--xst-radius); box-shadow: var(--xst-shadow); overflow: hidden; }
.xst-side-card + .xst-side-card { margin-top: 20px; }
.xst-side-card__title {
    padding: 14px 18px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background: linear-gradient(90deg, var(--xst-primary), var(--xst-primary-light));
}
.xst-side-card__body { padding: 8px 0; }
.xst-side-card__body li a {
    display: block;
    padding: 10px 18px;
    color: var(--xst-text);
    border-left: 3px solid transparent;
}
.xst-side-card__body li a:hover,
.xst-side-card__body li.on a { color: var(--xst-primary); border-left-color: var(--xst-primary); background: var(--xst-pink); }

/* 图文列表 */
.xst-list { background: #fff; border-radius: var(--xst-radius); box-shadow: var(--xst-shadow); }
.xst-list__item { display: flex; gap: 20px; padding: 20px; border-bottom: 1px solid var(--xst-line); }
.xst-list__item:last-child { border-bottom: none; }
.xst-list__item:hover { background: var(--xst-pink); }
.xst-list__thumb { width: 220px; height: 140px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background: var(--xst-pink); }
.xst-list__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.xst-list__item:hover .xst-list__thumb img { transform: scale(1.05); }
.xst-list__emptythumb { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(140deg, #ffd9c9, #ffb59c); }
.xst-list__info { flex: 1; min-width: 0; }
.xst-list__info h3 { font-size: 18px; font-weight: bold; }
.xst-list__info h3 a:hover { color: var(--xst-primary); }
.xst-list__info p { margin-top: 10px; color: var(--xst-text-2); font-size: 14px; }
.xst-list__meta { margin-top: 14px; display: flex; align-items: center; gap: 16px; font-size: 12px; color: var(--xst-muted); }
.xst-list__meta .icon { margin-right: 3px; }
.xst-list__tag { padding: 2px 8px; border-radius: 10px; background: var(--xst-pink); color: var(--xst-primary); }

/* 分页 */
.xst-pagination { margin-top: 30px; text-align: center; }
.xst-pagination__list { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.xst-pagination__link {
    display: block;
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    line-height: 36px;
    border: 1px solid var(--xst-line);
    border-radius: 6px;
    background: #fff;
    color: var(--xst-text);
}
.xst-pagination__link:hover { color: var(--xst-primary); border-color: var(--xst-primary); }
.xst-pagination__link.on { color: #fff; background: var(--xst-primary); border-color: var(--xst-primary); }
.xst-pagination__link--omit { border-color: transparent; background: transparent; cursor: default; }
.xst-pagination__info { margin-top: 12px; font-size: 13px; color: var(--xst-muted); }

/* 文章详情 */
.xst-detail { padding: 30px; background: #fff; border-radius: var(--xst-radius); box-shadow: var(--xst-shadow); }
.xst-detail__head { text-align: center; padding-bottom: 20px; border-bottom: 1px solid var(--xst-line); }
.xst-detail__head h1 { font-size: 26px; font-weight: bold; line-height: 1.5; }
.xst-detail__meta { margin-top: 14px; font-size: 13px; color: var(--xst-muted); }
.xst-detail__meta span { margin: 0 10px; }
.xst-detail__meta .icon { margin-right: 3px; }
.xst-detail__content { margin-top: 24px; font-size: 15px; line-height: 1.9; color: var(--xst-text); overflow: hidden; }
.xst-detail__content img { display: block; max-width: 100%; height: auto; margin: 14px auto; border-radius: 8px; }
.xst-detail__content p { margin: 12px 0; }
.xst-detail__content video,
.xst-detail__content iframe { max-width: 100%; }
.xst-detail__content a { color: var(--xst-primary); text-decoration: underline; }
.xst-detail__nav { margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--xst-line); font-size: 14px; }
.xst-detail__nav p + p { margin-top: 10px; }
.xst-detail__nav a:hover { color: var(--xst-primary); }

/* 医生筛选 */
.xst-filter { padding: 16px 20px; background: #fff; border-radius: var(--xst-radius); box-shadow: var(--xst-shadow); }
.xst-filter__row { display: flex; align-items: flex-start; padding: 8px 0; }
.xst-filter__label { width: 70px; flex-shrink: 0; font-size: 14px; color: var(--xst-muted); padding-top: 4px; }
.xst-filter__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.xst-filter__opts a { padding: 4px 14px; border-radius: 14px; font-size: 14px; color: var(--xst-text); }
.xst-filter__opts a:hover { color: var(--xst-primary); background: var(--xst-pink); }
.xst-filter__opts a.on { color: #fff; background: var(--xst-primary); }

/* 医生详情 */
.xst-doctor-detail { display: flex; gap: 40px; padding: 30px; background: #fff; border-radius: var(--xst-radius); box-shadow: var(--xst-shadow); }
.xst-doctor-detail__avatar { width: 300px; flex-shrink: 0; border-radius: 8px; overflow: hidden; }
.xst-doctor-detail__avatar img { width: 100%; }
.xst-doctor-detail__info { flex: 1; min-width: 0; }
.xst-doctor-detail__info h1 { font-size: 26px; font-weight: bold; }
.xst-doctor-detail__info h1 em { font-style: normal; margin-left: 10px; font-size: 14px; color: var(--xst-primary); }
.xst-doctor-detail__tags { margin-top: 14px; }
.xst-doctor-detail__tags span { display: inline-block; margin: 0 8px 8px 0; padding: 4px 12px; border-radius: 14px; background: var(--xst-pink); color: var(--xst-primary); font-size: 13px; }
.xst-doctor-detail__block { margin-top: 24px; }
.xst-doctor-detail__block h4 { margin-bottom: 10px; font-size: 16px; font-weight: bold; padding-left: 10px; border-left: 3px solid var(--xst-primary); }
.xst-doctor-detail__block p { line-height: 1.9; color: var(--xst-text-2); font-size: 14px; }
.xst-doctor-detail__resume { white-space: pre-line; }

/* 联系/自述等富文本区块 */
.xst-richtext { padding: 30px; background: #fff; border-radius: var(--xst-radius); box-shadow: var(--xst-shadow); }
.xst-richtext img { max-width: 100%; height: auto; }
.xst-richtext p { margin: 12px 0; line-height: 1.9; }

/* 联系信息卡 */
.xst-contact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.xst-contact__item { padding: 24px; background: #fff; border-radius: var(--xst-radius); box-shadow: var(--xst-shadow); text-align: center; }
.xst-contact__item .icon { font-size: 30px; color: var(--xst-primary); }
.xst-contact__item h4 { margin-top: 10px; font-size: 15px; color: var(--xst-muted); }
.xst-contact__item p { margin-top: 6px; font-size: 18px; font-weight: bold; }

/* 暂无数据 */
.xst-empty { padding: 80px 0; text-align: center; color: var(--xst-muted); background: #fff; border-radius: var(--xst-radius); box-shadow: var(--xst-shadow); }
.xst-empty .icon { font-size: 56px; color: var(--xst-line); }

/* 内页响应式 */
@media screen and (max-width: 992px) {
    .xst-layout { flex-direction: column; }
    .xst-layout__side { width: 100%; }
    .xst-layout__main { width: 100%; }
    .xst-doctor-detail { flex-direction: column; }
    .xst-doctor-detail__avatar { width: 100%; max-width: 300px; }
    .xst-contact { grid-template-columns: repeat(2, 1fr); }
    /* 文章详情：移动端隐藏侧栏「资讯分类」「联系我们」 */
    .xst-article-detail .xst-layout__side { display: none; }

    /* 专家详情：移动端隐藏侧栏「专家科室」「联系我们」 */
    .xst-doctor-detail-page .xst-layout__side { display: none; }

    /* 特色科室 / 科室详情：移动端隐藏侧栏「科室导航」「联系我们」 */
    .xst-department-page .xst-layout__side { display: none; }

    /* 文章列表：移动端隐藏「联系我们」，资讯分类改为多行标签，避免一行一列 */
    .xst-article-list .xst-side-card--contact { display: none; }
    .xst-article-list .xst-side-card__body {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        padding: 12px;
    }
    .xst-article-list .xst-side-card__body li { flex: 0 0 auto; max-width: 100%; }
    .xst-article-list .xst-side-card__body li a {
        padding: 7px 14px;
        font-size: 13px;
        line-height: 1.3;
        border: 1px solid var(--xst-line);
        border-radius: 999px;
        background: #fff;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .xst-article-list .xst-side-card__body li a:hover,
    .xst-article-list .xst-side-card__body li.on a {
        border-color: var(--xst-primary);
        border-left-color: var(--xst-primary);
        background: var(--xst-pink);
        color: var(--xst-primary);
    }
}
@media screen and (max-width: 767px) {
    .xst-page-banner { height: 140px; }
    .xst-page-banner h2 { font-size: 22px; }
    .xst-list__item { flex-direction: column; gap: 12px; padding: 14px; }
    .xst-list__thumb { width: 100%; height: 180px; }
    .xst-list__info h3 { font-size: 16px; }
    .xst-detail { padding: 18px; }
    .xst-detail__head h1 { font-size: 20px; }
    .xst-doctor-detail { padding: 18px; }
    .xst-doctor-detail__info h1 { font-size: 20px; }
    .xst-contact { grid-template-columns: 1fr; }
    .xst-filter { padding: 12px; }
    .xst-filter__row { flex-direction: column; gap: 6px; }
    .xst-filter__label { width: auto; padding-top: 0; }
}

/* PLACEHOLDER_INNER_PAGE */
