/* ai-new.css — nbcsg.com 诺美尚格
   effective_seed=4416（位置加权 Σ char[i]*(i+1)，domain="nbcsg.com"）
   PC 布局: T-G / H7 / D7 / N3 / S5 / P3 / Q7 / T4 / F3 / HE2 / NA7 / Banner=BN3
   （落地说明：H7 因“字段保护”保留缩略图 → 采用带图 H6 结构；Q7 因问答数据受限降级为气泡文字卡；
    Banner 保留现有 BN4；详见 BEGIN 区注释）
   主题色：#262626 炭黑主色 + #d97757 珊瑚辅色（logo 提取，已做 WCAG-AA 对比度校正） */

/* ==============================
   主题色变量
   ============================== */
:root {
  /* ① 品牌主色系（logo 炭黑，做结构：标题/导航/链接/竖条/描边） */
  --color-primary:        #262626;
  --color-primary-dark:   #141414;
  --color-primary-light:  #f5f1ef;
  --color-primary-accent: #8a8a8a;
  /* ② 辅助/强调色（logo 珊瑚色唇，暖对比点睛） */
  --color-accent:         #d97757;
  --color-accent-dark:    #b85f42;
  --color-secondary:      #f5f1ef;
  --color-secondary-dark: #ece4df;
  --color-primary-rgb:        38, 38, 38;
  --color-primary-dark-rgb:   20, 20, 20;
  --color-primary-accent-rgb: 138, 138, 138;
  --color-primary-light-rgb:  245, 241, 239;
  --color-accent-rgb:         217, 119, 87;
  /* ③ 中性底与正文（固定中性灰，不带色相） */
  --color-bg:       #f4f5f7;
  --color-bg-white: #ffffff;
  --color-bg-light: #ecebe9;
  --color-text-dark:    #1f2328;
  --color-text-normal:  #333940;
  --color-text-light:   #6b7280;
  --color-text-lighter: #9aa3ad;
  --color-text-white:   #ffffff;
  --color-border:       rgba(31, 35, 40, 0.12);
  --color-border-light: rgba(31, 35, 40, 0.08);
  /* ④ 功能色（固定语义色，独立于品牌色） */
  --color-promo:        #E53935;
  --color-success:      #2fae66;
  --color-success-rgb:  47, 174, 102;
}

body { background: var(--color-bg); color: var(--color-text-normal); }

/* Tab 切换 / 占位（功能性，保留） */
.news-mode { display: none !important; }
.ind-xm-list.news-mode,
.ind-wd-list.news-mode,
.ind-rc-list.news-mode,
.ind-yh-list.news-mode,
.ind-zx-list.news-mode,
.ind-hos-list.news-mode,
.ind-doc-list.news-mode { display: none !important; }

.filter_img { filter: blur(15px) !important; }

/* 文本行数截断（供 camp1/camp2 元素使用） */
.camp1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.camp2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ===== PC首页区块 BEGIN ===== */
/* nbcsg.com 诺美尚格 | effective_seed=4416（记录值；本次为用户授权的“手动覆盖选型”，picks 非 seed 计算结果，为改出明显差异版而人工指定）
   标题 T-A(渐变色块横幅) / 医院 H3(大图叠层3:4竖版·无侧栏) / 医生 D3(排行榜列表·金银铜序号)
   资讯 N4(深色叠层全宽条) / 分享 S1(4列画廊叠层) / 项目 P1(3列竖版价签·白底) / 问答 Q3(大字背景装饰·无图)
   热词 T3(方格色块网格·主色实底) / Footer F2(浅灰简约) / Header HE3(分块卡片悬浮) / Nav NA6(斜切梯形) / Banner BN2(轮播+右侧三卡导流)
   主题色不变：#262626 炭黑主 + #d97757 珊瑚辅（logo 提取，WCAG-AA 校正） */

:root {
  --color-primary:      #262626;
  --color-primary-dark: #141414;
  --color-primary-light:#f5f1ef;
  --color-primary-rgb:  38, 38, 38;
  --color-primary-dark-rgb: 20, 20, 20;
  --color-accent:       #d97757;
  --color-accent-dark:  #b85f42;
  --color-accent-rgb:   217, 119, 87;
  --color-text-dark:    #1f2328;
  --color-text-light:   #6b7280;
  --color-text-lighter: #9aa3ad;
}

/* ---------- 容器 ---------- */
.container { max-width: 1240px; margin: 0 auto; padding: 0 16px; }
.index-hos-con { margin: 38px 0; }

/* ---------- 轮播 BN2 · 轮播图 + 右侧三卡导流位（图背景铺满 + 蒙版） ---------- */
.bn2-banner-wrap { max-width: 1240px; margin: 24px auto 0; padding: 0 16px; display: flex; align-items: stretch; gap: 16px; box-sizing: border-box; }
.bn2-banner-wrap .ai-home-swiper { flex: 1; min-width: 0; margin: 0; height: 360px; border-radius: 12px; overflow: hidden; box-shadow: 0 4px 18px rgba(var(--color-primary-dark-rgb), .1); }
.bn2-banner-wrap .ai-home-swiper .swiper-slide { height: 100%; }
.bn2-banner-wrap .ai-home-swiper .swiper-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bn2-banner-aside { width: 300px; flex-shrink: 0; display: flex; flex-direction: column; gap: 10px; }
.bn2-side-card { position: relative; flex: 1; display: flex; align-items: center; padding-left: 18px; border-radius: 10px; overflow: hidden; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; box-shadow: 0 2px 10px rgba(var(--color-primary-dark-rgb), .06); }
.bn2-side-card:hover { transform: translateY(-3px); box-shadow: 0 8px 18px rgba(var(--color-primary-dark-rgb), .14); }
.bn2-side-card:hover .bn2-side-img { transform: scale(1.05); }
.bn2-side-img { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.bn2-side-card::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.bn2-side-card--c1::after { background: linear-gradient(90deg, rgba(var(--color-primary-dark-rgb), .82) 0%, rgba(var(--color-primary-dark-rgb), .48) 55%, rgba(var(--color-primary-dark-rgb), .16) 100%); }
.bn2-side-card--c2::after { background: linear-gradient(90deg, rgba(var(--color-accent-rgb), .82) 0%, rgba(var(--color-accent-rgb), .48) 55%, rgba(var(--color-accent-rgb), .16) 100%); }
.bn2-side-card--c3::after { background: linear-gradient(90deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,.38) 55%, rgba(0,0,0,.12) 100%); }
.bn2-side-text { position: relative; z-index: 2; padding-right: 12px; min-width: 0; }
.bn2-side-title { font-size: 16px; font-weight: 800; color: #fff; margin: 0 0 4px; }
.bn2-side-desc { font-size: 12px; color: rgba(255,255,255,.85); margin: 0 0 8px; max-width: 150px; }
.bn2-side-btn { display: inline-flex; align-items: center; gap: 4px; background: rgba(255,255,255,.92); color: var(--color-primary-dark); font-size: 12px; padding: 4px 12px; border-radius: 999px; white-space: nowrap; width: fit-content; }
.bn2-side-btn i { font-style: normal; }

/* ---------- 板块标题 T-C · 极简底线型（无背景无边框 + 大字加粗标题 + 主色→透明渐变底线 + Tab 底线型） ---------- */
.mod-title-tc { position: relative; display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px; padding-bottom: 14px; margin-bottom: 20px; }
.mod-title-tc .tc-left { display: flex; align-items: baseline; gap: 10px; }
.mod-title-tc .tc-title { font-size: 26px; font-weight: 800; color: #111; letter-spacing: -.02em; margin: 0; line-height: 1.2; }
.mod-title-tc .tc-en { font-size: 12px; font-weight: 600; color: #bbb; text-transform: uppercase; letter-spacing: .18em; }
.mod-title-tc .tc-more { margin-left: auto; font-size: 13px; color: #888; }
.mod-title-tc .tc-more:hover { color: var(--color-primary-dark); }
.mod-title-tc .tc-line { width: 100%; height: 3px; background: linear-gradient(90deg, var(--color-primary) 0%, transparent 60%); border-radius: 2px; position: absolute; bottom: 0; left: 0; }
.mod-title-tc .tab a, .mod-title-tc .tab li { color: #555 !important; border: none !important; font-size: 14px !important; }
.mod-title-tc .tab .on a, .mod-title-tc .tab .cur a { color: var(--color-primary) !important; font-weight: 700 !important; border-bottom: 2px solid var(--color-primary) !important; }
/* Tab 复用站点 .tg-tabs .title 结构，套 T-C 底线型风格 */
.mod-title-tc .tg-tabs { display: flex; align-items: baseline; gap: 20px; }
.mod-title-tc .tg-tabs .title { font-size: 15px; color: #555; cursor: pointer; padding: 0 0 4px; border: none; background: none; border-bottom: 2px solid transparent; white-space: nowrap; transition: color .2s, border-color .2s; }
.mod-title-tc .tg-tabs .title:hover { color: var(--color-primary); }
.mod-title-tc .tg-tabs .title.current { color: var(--color-primary); font-weight: 700; border-bottom-color: var(--color-primary); }

/* ---------- 医院 H5 · 首条 Banner + 圆形 Logo 徽章网格（首条横版大图+长摘要全宽，其余圆形Logo+机构名 4列） ---------- */
.h5-wrap { display: flex; flex-direction: column; gap: 18px; }
.h5-lead { display: flex; gap: 22px; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 3px 16px rgba(0,0,0,.07); transition: transform .25s ease, box-shadow .25s ease; }
.h5-lead:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(var(--color-primary-rgb), .16); }
.h5-lead__media { width: 44%; min-width: 44%; position: relative; overflow: hidden; min-height: 220px; }
.h5-lead__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.h5-lead:hover .h5-lead__img { transform: scale(1.05); }
.h5-lead__body { flex: 1; min-width: 0; padding: 22px 28px 22px 0; display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.h5-lead__name { font-size: 22px; font-weight: 800; color: var(--color-text-dark); margin: 0; }
.h5-lead__addr { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--color-text-light); }
.h5-lead__label { flex-shrink: 0; background: rgba(var(--color-accent-rgb), .12); color: var(--color-accent-dark); padding: 2px 8px; border-radius: 4px; font-size: 12px; }
.h5-lead__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.h5-lead__tag { font-size: 12px; color: var(--color-primary); background: rgba(var(--color-primary-rgb), .08); padding: 3px 10px; border-radius: 999px; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.h5-lead__tag:hover { background: var(--color-primary); color: #fff; }
.h5-lead__time { font-size: 12px; color: var(--color-text-lighter); }
.h5-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.h5-badge { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; background: #fff; border-radius: 14px; padding: 22px 14px; box-shadow: 0 2px 14px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s ease; }
.h5-badge:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(var(--color-primary-rgb), .16); }
.h5-badge__logo { width: 84px; height: 84px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 3px #fff, 0 0 0 5px rgba(var(--color-primary-rgb), .18); }
.h5-badge__logo img { width: 100%; height: 100%; object-fit: cover; }
.h5-badge__name { font-size: 14px; font-weight: 700; color: var(--color-text-dark); line-height: 1.4; }
.h5-badge__addr { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; font-size: 12px; color: var(--color-text-light); }
.h5-badge__addr .camp1 { min-width: 0; }
.h5-badge__tags { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.h5-badge__time { font-size: 12px; color: var(--color-text-lighter); margin-top: auto; }

/* ---------- 医生 D2 · 圆形大头像描边卡（圆形头像 + 主色描边光环，姓名/职称/医院/简介/时间在下，3列） ---------- */
.doc-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.d2-card { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; background: #fff; border-radius: 16px; padding: 28px 18px 20px; box-shadow: 0 2px 14px rgba(0,0,0,.06); transition: transform .25s ease, box-shadow .25s ease; }
.d2-card:hover { transform: translateY(-6px); box-shadow: 0 14px 32px rgba(var(--color-primary-rgb), .16); }
.d2-card__badge { position: absolute; top: 14px; right: 14px; background: rgba(var(--color-accent-rgb), .16); color: var(--color-accent-dark); font-size: 10px; padding: 3px 9px; border-radius: 999px; font-weight: 600; }
.d2-card__avatar { width: 120px; height: 120px; border-radius: 50%; overflow: hidden; margin-bottom: 16px; box-shadow: 0 0 0 4px #fff, 0 0 0 7px rgba(var(--color-primary-rgb), .25); }
.d2-card__avatar img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.d2-card:hover .d2-card__avatar img { transform: scale(1.06); }
.d2-card__body { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.d2-card__name { font-size: 18px; font-weight: 800; color: var(--color-text-dark); margin: 0; }
.d2-card__title { font-size: 12px; color: var(--color-accent-dark); font-weight: 600; }
.d2-card__hospital { font-size: 12px; color: var(--color-text-light); }
.d2-card__intro { font-size: 12px; color: var(--color-text-light); line-height: 1.5; margin: 6px 0; }
.d2-card__meta { font-size: 11px; color: var(--color-text-lighter); }
.d2-card__btn { margin-top: 12px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 26px; background: var(--color-primary); color: #fff; border-radius: 999px; font-size: 13px; font-weight: 600; transition: background .2s; }
.d2-card:hover .d2-card__btn { background: var(--color-accent); }

/* ---------- 资讯 N4 · 深色叠层全宽条（图铺满作背景 + 左侧深色渐变 + 白色大字标题） ---------- */
.ind-zx-list .n4-list { display: flex; flex-direction: column; gap: 14px; }
.ind-zx-list .n4-bar { position: relative; display: block; height: 140px; border-radius: 12px; overflow: hidden; box-shadow: 0 3px 14px rgba(0,0,0,.08); }
.ind-zx-list .n4-bar__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.ind-zx-list .n4-bar:hover .n4-bar__img { transform: scale(1.05); }
.ind-zx-list .n4-bar__mask { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 0 36px; background: linear-gradient(90deg, rgba(20,20,20,.86) 0%, rgba(20,20,20,.55) 55%, rgba(20,20,20,.1) 100%); }
.ind-zx-list .n4-bar__title { font-size: 20px; font-weight: 800; color: #fff; margin: 0; max-width: 70%; text-shadow: 0 1px 6px rgba(0,0,0,.4); }
.ind-zx-list .n4-bar__desc { font-size: 13px; color: rgba(255,255,255,.82); margin: 0; max-width: 62%; line-height: 1.5; }
.ind-zx-list .n4-bar__meta { font-size: 12px; color: rgba(255,255,255,.7); }

/* ---------- 分享 S1 · 4列画廊叠层（3:4 竖版图铺满 + 底部渐变蒙版 + 标题/摘要/日期浮底） ---------- */
.ind-hos-list .s1-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.ind-hos-list .s1-card { position: relative; display: block; aspect-ratio: 3/4; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,.1); }
.ind-hos-list .s1-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.ind-hos-list .s1-card:hover .s1-card__img { transform: scale(1.07); }
.ind-hos-list .s1-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 38%, rgba(0,0,0,.38) 60%, rgba(20,20,20,.92) 100%); }
.ind-hos-list .s1-card__overlay { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 14px 14px 16px; color: #fff; }
.ind-hos-list .s1-card__title { font-size: 15px; font-weight: 800; margin: 0 0 6px; text-shadow: 0 1px 6px rgba(0,0,0,.45); }
.ind-hos-list .s1-card__desc { font-size: 12px; color: rgba(255,255,255,.82); margin: 0 0 8px; line-height: 1.5; }
.ind-hos-list .s1-card__meta { display: flex; align-items: center; justify-content: space-between; font-size: 11px; }
.ind-hos-list .s1-card__date { color: rgba(255,255,255,.7); }
.ind-hos-list .s1-card__more { color: #fff; background: rgba(var(--color-accent-rgb), .9); padding: 2px 10px; border-radius: 999px; white-space: nowrap; }

/* ---------- 项目 P1 · 3列竖版价签（图上文下 + 红色优惠价强调 + 原价删除线，白底卡片） ---------- */
.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.project-card { position: relative; display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 3px 16px rgba(0,0,0,.07); transition: transform .25s ease, box-shadow .25s ease; }
.project-card:hover { transform: translateY(-6px); box-shadow: 0 14px 32px rgba(var(--color-primary-rgb), .16); }
.project-card__media { position: relative; aspect-ratio: 16/11; overflow: hidden; }
.project-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.project-card:hover .project-card__img { transform: scale(1.06); }
.project-card__body { flex: 1; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.project-card__title { font-size: 16px; font-weight: 800; color: var(--color-text-dark); margin: 0; line-height: 1.4; }
.project-card__desc { font-size: 12px; line-height: 1.6; color: var(--color-text-light); margin: 0; }
.project-card__price { display: flex; align-items: baseline; gap: 8px; margin-top: 2px; }
.project-card__price-label { font-size: 12px; color: #E53935; font-weight: 600; }
.project-card__price-num { font-size: 26px; font-weight: 900; color: #E53935 !important; line-height: 1; }
.project-card__price-origin { font-size: 12px; color: #aaa; text-decoration: line-through; }
.project-card__footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 8px; }
.project-card__meta { font-size: 11px; color: var(--color-text-lighter); }
.project-card__more { font-size: 12px; color: #fff; background: var(--color-primary); padding: 5px 16px; border-radius: 999px; transition: background .2s; }
.project-card__more:hover { background: var(--color-accent); }

/* ---------- 问答 Q3 · 大字背景装饰（背景超大序号 01/02 + Q 在上 A 在下，单列，无图） ---------- */
.qa-list { display: flex; flex-direction: column; gap: 14px; counter-reset: qarank; }
.qa-card { position: relative; overflow: hidden; background: #fff; border-radius: 14px; padding: 20px 26px 18px; box-shadow: 0 2px 14px rgba(0,0,0,.06); transition: transform .2s ease, box-shadow .2s ease; }
.qa-card:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(var(--color-primary-rgb), .12); }
.qa-card::before { counter-increment: qarank; content: counter(qarank, decimal-leading-zero); position: absolute; right: 12px; top: -16px; font-size: 96px; font-weight: 900; font-style: italic; color: rgba(var(--color-primary-rgb), .06); line-height: 1; pointer-events: none; }
.qa-q { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 10px; }
.qa-ico { flex-shrink: 0; width: 26px; height: 26px; border-radius: 7px; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; color: #fff; }
.qa-ico--q { background: var(--color-primary); }
.qa-ico--a { background: var(--color-accent); }
.qa-question { flex: 1; min-width: 0; font-size: 16px; font-weight: 700; color: var(--color-text-dark); margin: 0; }
.qa-status { flex-shrink: 0; align-self: flex-start; margin-top: 3px; font-size: 10px; color: var(--color-success); background: rgba(var(--color-success-rgb), .12); padding: 1px 8px; border-radius: 999px; font-weight: 600; white-space: nowrap; }
.qa-a { position: relative; z-index: 1; display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; }
.qa-answer { font-size: 13px; color: var(--color-text-normal); line-height: 1.7; margin: 0; flex: 1; min-width: 0; }
.qa-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; padding-top: 10px; border-top: 1px dashed rgba(0,0,0,.07); position: relative; z-index: 1; }
.qa-time { font-size: 11px; color: var(--color-text-lighter); }
.qa-action { font-size: 12px; color: var(--color-accent-dark); font-weight: 600; }

/* ---------- 热词 T3 · 方格色块网格（主色/辅色渐变实底 + 白字居中，无圆角强结构感） ---------- */
.hot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.hot-box { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; aspect-ratio: 3/2; padding: 10px; color: #fff; font-size: 15px; font-weight: 700; line-height: 1.3; background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark)); transition: transform .2s ease, filter .2s ease; }
.hot-box:nth-child(3n+2) { background: linear-gradient(135deg, var(--color-accent), var(--color-accent-dark)); }
.hot-box:nth-child(4n+4) { background: linear-gradient(135deg, var(--color-primary-dark), #000); }
.hot-box:hover { transform: translateY(-3px); filter: brightness(1.1); }
.hot-box__tag { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hot-box__time { font-size: 11px; font-weight: 500; color: rgba(255,255,255,.75); letter-spacing: .02em; }

/* ---------- Footer F2 · 浅灰简约（浅灰底 + 细分割线 + 深色文字，三栏） ---------- */
#footer { background: var(--color-bg) !important; color: var(--color-text-normal) !important; margin-top: 56px; border-top: 1px solid var(--color-border); }
#footer .containers { display: grid !important; grid-template-columns: 200px 1fr 120px; align-items: center; gap: 36px; max-width: 1240px; margin: 0 auto; padding: 34px 24px 26px; box-sizing: border-box; }
#footer .containers > a { display: inline-flex; align-items: center; line-height: 0; }
#footer .logo { height: 50px; width: auto; }
#footer .footer-copyright-con { text-align: center; font-size: 13px; line-height: 2; padding: 0 24px; border-left: 1px solid var(--color-border); border-right: 1px solid var(--color-border); }
#footer .footer-copyright-con p { margin: 3px 0; }
#footer a, #footer p, #footer span { color: var(--color-text-light) !important; }
#footer .footer-copyright-con a { color: var(--color-text-normal) !important; }
#footer .footer-copyright-con a:hover { color: var(--color-accent) !important; }
#footer .code { width: 92px; height: 92px; border-radius: 10px; padding: 4px; background: #fff; border: 1px solid var(--color-border); }
#footer .footer-bottom { background: #fff; color: var(--color-text-lighter); text-align: center; font-size: 12px; padding: 13px 24px; letter-spacing: .05em; border-top: 1px solid var(--color-border); }

/* ---------- Header HE3 · 分块卡片悬浮型（浅灰底 + Logo/搜索/电话二维码 三独立白卡悬浮 hover 上移） ---------- */
.site-header { background: var(--color-bg); padding: 16px 0; }
.site-header__wrap { max-width: 1240px; margin: 0 auto; padding: 0 16px; display: flex; align-items: stretch; gap: 16px; justify-content: space-between; box-sizing: border-box; }
.site-header__card { background: #fff; border-radius: 14px; box-shadow: 0 2px 12px rgba(var(--color-primary-rgb), .06); transition: transform .25s ease, box-shadow .25s ease; }
.site-header__card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(var(--color-primary-rgb), .12); }
.site-header__brand { flex-shrink: 0; display: inline-flex; align-items: center; padding: 0 26px; }
.site-header__logo { height: 50px; width: auto; display: block; }
.site-header__search { flex: 1; max-width: 620px; display: flex; align-items: center; padding: 6px; }
.site-header__input { flex: 1; min-width: 0; border: none; outline: none; padding: 12px 20px; font-size: 14px; background: transparent; }
.site-header__btn { display: inline-flex; align-items: center; gap: 6px; background: var(--color-primary); color: #fff; border: none; padding: 0 24px; height: 44px; cursor: pointer; font-size: 14px; border-radius: 999px; flex-shrink: 0; transition: background .2s; }
.site-header__btn:hover { background: var(--color-accent); }
.site-header__btn-icon { width: 18px; height: 18px; }
.site-header__meta { flex-shrink: 0; display: flex; align-items: center; gap: 20px; padding: 0 22px; }
.site-header__tel { display: flex; align-items: center; gap: 10px; color: var(--color-primary); }
.site-header__tel-icon { width: 32px; height: 32px; flex-shrink: 0; color: var(--color-accent-dark); }
.site-header__tel-text { display: flex; flex-direction: column; line-height: 1.2; }
.site-header__tel-label { font-size: 12px; color: var(--color-text-light); }
.site-header__tel-num { font-size: 19px; font-weight: 800; color: var(--color-accent-dark); }
.site-header__qr { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.site-header__qr-img { width: 52px; height: 52px; border-radius: 8px; border: 1px solid var(--color-border); }
.site-header__qr-cap { font-size: 11px; color: var(--color-text-light); }

/* ---------- Nav NA6 · 斜切梯形 tab（主色实底 + skewX 梯形项 + 反向纠偏文字 + 深色 hover/active） ---------- */
.site-nav { position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.site-nav__shell { max-width: 1240px; margin: 0 auto; padding: 0 16px; }
.site-nav__list { display: flex; justify-content: space-between; }
.site-nav--skew { background: var(--color-primary); }
.site-nav--skew .site-nav__item { position: relative; flex: 1; }
.site-nav--skew .site-nav__item > a { width: 100%; display: flex; align-items: center; justify-content: center; padding: 14px 0; color: #fff; font-size: 15px; font-weight: 600; transform: skewX(-14deg); border-left: 1px solid rgba(255,255,255,.2); transition: background .2s; }
.site-nav--skew .site-nav__item:first-child > a { border-left: none; }
.site-nav--skew .site-nav__item > a > span { display: inline-block; transform: skewX(14deg); }
.site-nav--skew .site-nav__item > a:hover, .site-nav--skew .site-nav__item.active > a { background: var(--color-primary-dark); }
.site-nav.scrolled { box-shadow: 0 4px 16px rgba(0,0,0,.12); }

/* ---------- 响应式 ---------- */
@media (max-width: 1024px) {
  .bn2-banner-wrap { flex-direction: column; }
  .bn2-banner-aside { width: 100%; flex-direction: row; }
  .bn2-side-desc { max-width: none; }
  .h5-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .doc-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ind-hos-list .s1-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .project-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 768px) {
  .bn2-banner-aside { flex-direction: column; }
  .h5-grid, .doc-list, .ind-hos-list .s1-grid, .project-grid { grid-template-columns: 1fr; }
  .h5-lead { flex-direction: column; }
  .h5-lead__media { width: 100%; min-width: 100%; aspect-ratio: 16/10; min-height: 0; }
  .h5-lead__body { padding: 18px 20px; }
  .ind-zx-list .n4-bar__title, .ind-zx-list .n4-bar__desc { max-width: 100%; }
  .site-header__wrap { flex-wrap: wrap; }
  .site-header__search { order: 3; max-width: 100%; flex-basis: 100%; }
  .site-nav__list { overflow-x: auto; }
  #footer .containers { grid-template-columns: 1fr; text-align: center; }
  #footer .footer-copyright-con { border: none; }
}
/* ===== PC首页区块 END ===== */

/* ===== 列表页 / 详情页样式（非首页，保留不动） ===== */
.regional-filter,
.regionalFiltering {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(var(--color-primary-dark-rgb), 0.06);
  padding: 4px 18px;
  margin: 18px 0;
  border: 1px solid var(--color-border-light);
}
.regional-filter__row,
.regionalFilteringBox {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px dashed var(--color-border-light);
}
.regional-filter__row:last-child,
.regionalFilteringBox:last-child {
  border-bottom: none;
}
.regional-filter__label,
.regionalFilteringLeft {
  flex-shrink: 0;
  width: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 0;
}
.regional-filter__label-text,
.regionalFilteringLeft > span {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: var(--color-primary-dark);
  background: var(--color-primary-light);
  padding: 4px 12px;
  border-radius: 14px;
  letter-spacing: .04em;
  line-height: 1.4;
}
.regional-filter__options,
.regionalFilteringRight {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 8px;
  padding: 2px 0;
}
.regional-filter__link,
.regional-filter__options a,
.regionalFilteringRight a {
  display: inline-flex;
  align-items: center;
  padding: 4px 14px;
  font-size: 13px;
  color: var(--color-text-normal);
  text-decoration: none;
  border-radius: 14px;
  white-space: nowrap;
  line-height: 1.6;
  transition: background .2s, color .2s, transform .2s;
}
.regional-filter__link:hover,
.regional-filter__options a:hover,
.regionalFilteringRight a:hover {
  color: var(--color-primary-dark);
  background: var(--color-primary-light);
}
.regional-filter__link.cursorActive,
.regional-filter__options a.cursorActive,
.regionalFilteringRight a.cursorActive {
  color: #fff;
  background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  font-weight: 600;
  box-shadow: 0 3px 10px rgba(var(--color-primary-dark-rgb), 0.22);
}
.regional-filter__link.cursorActive:hover,
.regional-filter__options a.cursorActive:hover,
.regionalFilteringRight a.cursorActive:hover {
  filter: brightness(1.06);
  color: #fff;
  background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
}

/* ==============================
   .hospital-tabs — 列表页标题条 + 在线咨询按钮
   结构：.hospital-tabs > .hospital-tab-item--title (.badge + .text)
                      + button.hospital-tab-item--consult
   ============================== */
.hospital-tabs,
.yy-list-tabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #fff;
  border-radius: 10px;
  padding: 14px 20px;
  margin: 18px 0;
  box-shadow: 0 2px 12px rgba(var(--color-primary-dark-rgb), 0.06);
  border-left: 4px solid var(--color-primary);
  width: 100%;
  box-sizing: border-box;
}
.hospital-tab-item--title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.hospital-tab-item__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 6px;
  letter-spacing: .08em;
  box-shadow: 0 3px 8px rgba(var(--color-primary-dark-rgb), 0.22);
  flex-shrink: 0;
  white-space: nowrap;
}
.hospital-tab-item__text {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-text-dark);
  letter-spacing: .02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hospital-tab-item--consult {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: none;
  cursor: pointer;
  font-size: 13.5px;
  font-weight: 700;
  padding: 9px 22px;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  box-shadow: 0 4px 14px rgba(var(--color-primary-dark-rgb), 0.28);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s;
  white-space: nowrap;
  position: relative;
  flex-shrink: 0;
}
.hospital-tab-item--consult::before {
  content: '💬';
  font-size: 14px;
  filter: grayscale(1) brightness(2);
}
.hospital-tab-item--consult:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(var(--color-primary-dark-rgb), 0.38);
  filter: brightness(1.08);
}
.hospital-tab-item--consult:active {
  transform: translateY(0);
  box-shadow: 0 3px 8px rgba(var(--color-primary-dark-rgb), 0.28);
}

/* ==============================
   .yycard — 医院/医生列表页卡片（list_hospital / list_doctor）
   ============================== */
.content_con {
  gap: 0;
}

.content_con .yycard.card_con,
.content_con .yycard.yylist_acrdcon {
  height: auto;
  min-height: 0;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0;
  margin: 0 0 16px;
  padding: 0;
  border: none;
  border-bottom: none;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(var(--color-primary-dark-rgb), 0.07);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}

.content_con .yycard:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(var(--color-primary-dark-rgb), 0.14);
}

.content_con .yycard__media {
  flex: 0 0 200px;
  width: 200px;
  max-width: 200px;
  align-self: stretch;
  display: block;
  position: relative;
  overflow: hidden;
  background: var(--color-primary-light);
}

.content_con .yycard__img,
.content_con .yycard .card_img {
  width: 100% !important;
  height: 100% !important;
  min-height: 148px;
  max-height: none;
  object-fit: cover;
  filter: none !important;
  transition: transform .35s ease;
}

.content_con .yycard:hover .yycard__img {
  transform: scale(1.05);
}

.content_con .yycard__body,
.content_con .yycard .card_textcon {
  flex: 1;
  min-width: 0;
  width: auto;
  margin: 0;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

.content_con .yycard__title-link {
  text-decoration: none;
}

.content_con .yycard__title,
.content_con .yycard .list_tit {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  color: var(--color-text-dark);
  transition: color .2s ease;
}

.content_con .yycard:hover .yycard__title {
  color: var(--color-primary-dark);
}

.content_con .yycard__projects,
.content_con .yycard .xm_con {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
}

.content_con .yycard__projects-label,
.content_con .yycard .xm_tex {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--color-primary-dark);
  background: var(--color-primary-light);
  padding: 3px 10px;
  border-radius: 4px;
  line-height: 1.5;
  min-width: auto;
}

.content_con .yycard__tags {
  /* display: flex; */
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  min-width: 0;
  /* max-height: 52px; */
  overflow: hidden;
}

.content_con .yycard__tag,
.content_con .yycard .xm_but {
  display: inline-block;
  max-width: 120px;
  padding: 3px 10px;
  font-size: 11px;
  line-height: 1.4;
  color: var(--color-primary-dark);
  background: #fff;
  border: 1px solid var(--color-border-light);
  border-radius: 12px;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.content_con .yycard__tag:hover,
.content_con .yycard .xm_but:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.content_con .yycard__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.content_con .yycard__meta-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--color-text-light);
}

.content_con .yycard__meta-ico {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: .85;
}

.content_con .yycard__meta-ico--addr {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2391d8ba'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
}

.content_con .yycard__meta-ico--time {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2391d8ba'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E");
}

.content_con .yycard__meta-ico--intro {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2391d8ba'%3E%3Cpath d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E");
}

.content_con .yycard__meta-text {
  flex: 1;
  min-width: 0;
}

.content_con .yycard__meta-text--intro {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.content_con .yycard__actions,
.content_con .yycard .card_button {
  flex: 0 0 auto;
  width: auto;
  min-width: 108px;
  height: auto;
  margin: 0;
  padding: 16px 18px 16px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
}

.content_con .yycard__actions .but_item {
  width: 100%;
  min-width: 96px;
  height: 38px;
  margin: 0;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.content_con .yycard__actions .but_item--primary {
  border: none;
  color: #fff;
  background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  box-shadow: 0 4px 12px rgba(var(--color-primary-dark-rgb), 0.25);
}

.content_con .yycard__actions .but_item--primary:hover {
  transform: translateY(-1px);
  filter: brightness(1.06);
  box-shadow: 0 6px 16px rgba(var(--color-primary-dark-rgb), 0.32);
}

.content_con .yycard__actions .but_item--outline,
.content_con .yycard__actions .but_yh {
  border: 1px solid var(--color-primary);
  background: #fff;
  color: var(--color-primary-dark);
}

.content_con .yycard__actions .but_item--outline:hover,
.content_con .yycard__actions .but_yh:hover {
  background: var(--color-primary-light);
  transform: translateY(-1px);
}

/* ==============================
   .aside-head — 列表页侧边栏栏目标题（推荐医生 / 热门资讯等）
   ============================== */
.aside_con {
  padding: 12px 14px 16px;
  gap: 0;
}

.aside_con .aside_titcon.aside-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  border-bottom: none;
  background: linear-gradient(90deg, var(--color-primary-light) 0%, #fff 72%);
  border-left: 4px solid var(--color-primary);
  border-radius: 8px;
  box-shadow: 0 1px 8px rgba(var(--color-primary-dark-rgb), 0.06);
  font-size: inherit;
  font-weight: normal;
  color: inherit;
}

.aside_con .aside-head:not(:first-of-type) {
  margin-top: 14px;
}

.aside_con .aside-head__title,
.aside_con .aside_tit.aside-head__title {
  margin: 0;
  flex: 1;
  min-width: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-text-dark);
  letter-spacing: .02em;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aside_con .aside-head__more,
.aside_con a.aside_more.aside-head__more {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
  padding: 5px 11px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-primary-dark);
  background: #fff;
  border: 1px solid var(--color-border-light);
  border-radius: 16px;
  text-decoration: none;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.aside_con .aside-head__more:hover,
.aside_con a.aside_more.aside-head__more:hover {
  color: #fff;
  background: linear-gradient(120deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  border-color: transparent;
  box-shadow: 0 3px 10px rgba(var(--color-primary-dark-rgb), 0.22);
  transform: translateY(-1px);
}

.aside_con .aside-head__more-ico {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
  transition: transform .2s ease;
}

.aside_con .aside-head__more:hover .aside-head__more-ico {
  transform: translateX(2px);
}

.aside_con .aside-head + .card_con,
.aside_con .aside-head + a.card_rightcon {
  margin-top: 10px;
}



/* 空结果提示 */
.none_yy {
  background: linear-gradient(135deg, var(--color-primary-light) 0%, #fff 100%);
  border: 1px dashed var(--color-primary-accent);
  color: var(--color-primary-dark);
  font-size: 13.5px;
  font-weight: 600;
  text-align: center;
  padding: 14px 18px;
  margin: 14px 0;
  border-radius: 8px;
  position: relative;
}
.none_yy::before {
  content: 'ℹ️ ';
  margin-right: 4px;
}

/* ==============================
   响应式（≤960px）
   ============================== */
@media (max-width: 960px) {
  .regional-filter,
  .regionalFiltering { padding: 4px 12px; }
  .regional-filter__row,
  .regionalFilteringBox {
    flex-direction: column;
    gap: 8px;
    padding: 10px 0;
  }
  .regional-filter__label,
  .regionalFilteringLeft {
    width: auto;
    justify-content: flex-start;
    padding: 0;
  }

  .content_con .yycard.card_con,
  .content_con .yycard.yylist_acrdcon {
    flex-direction: column;
  }
  .content_con .yycard__media {
    flex: none;
    width: 100%;
    max-width: none;
    aspect-ratio: 16 / 10;
  }
  .content_con .yycard__img,
  .content_con .yycard .card_img {
    min-height: 0;
  }
  .content_con .yycard__actions,
  .content_con .yycard .card_button {
    flex-direction: row;
    width: 100%;
    min-width: 0;
    padding: 0 16px 16px;
    border-left: none;
    border-top: 1px solid var(--color-border-light);
  }
  .content_con .yycard__actions .but_item {
    flex: 1;
  }

  .page_con.page-nav {
    gap: 6px;
    padding: 14px 10px;
  }
  .page_con.page-nav a,
  .page_con.page-nav span {
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    font-size: 13px;
  }
  .page_con.page-nav a.a1 {
    padding: 0 12px;
    font-size: 12px;
  }
}
