/* ai-new.css — changcnews.com 常美资讯（本次改版：/c-web 全量重跑，pc-index 第二步布局全部重算）
   site_uid = changcnews.com（14 字符，含 TLD）
   effective_seed = Sigma charcode[i]x(i+1)
     = c99x1+h104x2+a97x3+n110x4+g103x5+c99x6+n110x7+e101x8+w119x9+s115x10+.46x11+c99x12+o111x13+m109x14
     = 10609
   ※ 上一版文件头写的 seed=10768 是旧域名 toufayizhi.net 的值（/r-site-info 只替换了域名字符串、
     没重算数字），其选出的 T-C / BN7+it322 / H6 / D3 / N2 / S6 / P4 / Q2 / T3 / F5 本次全部作废重算。

   PC 布局（两步算法 pick(i)=(seed+domain[i%14]xprime[i]) % count_i，分母为各库当前条目数）：
     板块标题 T-E「左色块标签型」    seed%7 = 10609%7 = 4（全站 7 板块统一）
     Banner   BN1「极简原生轮播」    (seed+11)%9 = 10620%9 = 0（无专属 Header/Nav 绑定）
     Header   HE3「分块卡片悬浮型」  (10609+s115x31)=14174 % 6 = 2
     Nav      NA6「斜切梯形 tab」    (10609+.46x37) =12311 % 7 = 5
              └ 协调性（规则3）：NA6 主色实底导航 配 HE3 浅灰底 Header ✓
     医院 H2「纯文字时间轴」         (10609+h104x3) =10921 % 8 = 1
     医生 D5「杂志大图错位」         (10609+a97x7)  =11288 % 7 = 4
     资讯 N3「3 列等宽卡片」         (10609+n110x11)=11819 % 9 = 2
     分享 S6「横条列表+右侧缩略图榜」(10609+g103x13)=11948 % 9 = 5
     项目 P5「4 列紧凑网格」         (10609+c99x17) =12292 % 6 = 4
     问答 Q2「手风琴折叠」           算法原值 12699 % 9 = 0 → Q1，按规则2调整到次优 pick=1（见下）
     热词 T3「方格色块网格」         (10609+e101x23)=12932 % 6 = 2
     Footer F1「深色渐变 3 列 Grid」 (10609+w119x29)=14060 % 5 = 0
     浮层 GD3 左侧页内锚点条（沿用——用户此前明确要求叠加，不属默认叠加项）

   【规则2 相邻同风格调整 · 唯一一处人工干预】
     原始序列 项目 P5(矩形网格) → 问答 Q1(矩形网格) → 热词 T3(矩形网格) 三连同族，违反
     「相邻区块不得选择同类视觉风格（如都选网格），需调整到次优方案」。改问答一处即可同时拆开
     前后两组冲突：pick 0 → 次优 pick 1 = Q2「折叠·交互」。项目/热词保持算法原值不动。

   叠加组件：tab_pick=(seed+domain[i%14]x41)%3 → 医院2/医生0/资讯2/分享0/项目1/问答2/热词2
             （1=TAB1 静态导航型 .ind-sec-tabs，2=TAB2 动态列表型 .doc-sec-tabs，0=不叠加）
             mq_pick =(seed+domain[i%14]x43)%4 → 医院1/医生0/资讯3/分享2/项目2/问答3（3=叠加 MQ1）
             ├ 资讯命中 mq=3 → 叠加 MQ1「热门资讯」横滚榜，数据取三专科 $right_news_*_list 第 3 条起
             │  各 3 条（前 2 条已被 N3 网格补位用掉），与主区、补位格均零重复
             └ 问答命中 mq=3，但 hb_qa 无可用缩略图、亦无 $right_wenda_* 备用列表，MQ1 是头像轮播、
                缺图即空框 → 按布局库「数据受限则退化」原则省略（与 Q7/Q8/Q9 判断同源）

   相邻同族自检（结构形态 + 视觉重量）：
     H2 时间轴·白底轻盈 → D5 杂志错位·白卡+色块 → N3 矩形网格·白底阴影 → S6 列表条·带侧栏
     → P5 矩形网格·紧凑轻盈 → Q2 折叠·交互 → T3 矩形网格·主色实底
     相邻两两结构形态均不同族 ✓；N3 与 P5 同为「矩形网格+白底」但不相邻，为允许的唯一 1 对。

   主题色：新 logo111.png（常美资讯：蓝色羽状漩涡徽标 + 琥珀散点/金色椭圆 + 深藏青中英文字）
     详见下方 :root 上方注释块（含直方图取色数据与 WCAG 对比度校验）。
     主色 #146CA3（H203 S78 L36，白底 5.67:1）／辅色 #F09E19（logo 第二主色·琥珀，
     其暗版 #A56109 白底 4.87:1）／中性 #f4f5f7 系／功能色 红 #E53935 · 绿 #2fae66。
     60/30/10：中性底 60 / 蓝色主色 30 / 琥珀辅色 10 */

body { background: var(--color-bg); color: var(--color-text-normal); }
.filter_img { filter: blur(15px) !important; }
.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 ===== */

/* === AI 主题色（logo 提取主色 + 适配辅色 + 中性 + 功能色）===
   新 logo111.png（常美资讯：蓝色羽状漩涡徽标 + 琥珀色散点/金色椭圆 + 深藏青中英文字）
   像素直方图取色（alpha>200、24 级 RGB 分桶，排除近白）：
     深藏青 #1A183C(18163px) —— 中英文字，非图形主色
     蓝色族 #5DD7F4 / #4AC2EB / #1B7BBC / #2C93D6 / #1774AE —— 漩涡主体，H≈192~204
     暖色族（另做 R>B+25 定向扫描）#F3B14D / #F6B043 / #F1A94D —— 散点与金色椭圆，H≈34~39 S≈87%
   ① 主色：取蓝色族并做对比度强制校正
      --color-primary #146CA3 → H≈203° S≈78% L≈36%（≤45%），白底 5.67:1 ≥ AA ✓
      --color-primary-dark #0F5B8A（L≈30%，主色再降 ~17%）
      --color-primary-light #DCEEF9（L≈92%，仅做淡底填充，不承载文字）
   ② 辅色：按第一步规则②优先级 1 —— logo 里有明确的第二主色（琥珀散点/金色椭圆）→ 直接取用，
      不套用「珊瑚橙」这类固定默认强调色，也不是从主色推导的邻近色。
      --color-accent #F09E19（H≈37° S≈88% L≈52%，实底填充/角标/CTA）
      --color-accent-dark #A56109（L≈34%，白底文字与描边用，白底 4.87:1 ≥ AA ✓）
   ③ 中性：固定中性灰、不带主色色相（去枯燥的关键）
   ④ 功能色：优惠价红 / 认证绿，独立于品牌色
   60/30/10：中性底 60 / 蓝色主色 30 / 琥珀辅色 10 */
:root {
  /* ① 品牌主色系（结构：标题竖条/导航/链接/描边） */
  --color-primary: #146CA3; --color-primary-dark: #0F5B8A; --color-primary-light: #DCEEF9;
  --color-primary-rgb: 20,108,163; --color-primary-dark-rgb: 15,91,138;
  /* ② 辅助/强调色（logo 第二主色：琥珀散点 / 金色椭圆） */
  --color-accent: #F09E19; --color-accent-dark: #A56109; --color-accent-rgb: 240,158,25;
  /* ③ 中性底与正文 */
  --color-bg: #f4f5f7; --color-bg-white: #fff;
  --color-text-dark: #1f2328; --color-text-normal: #333940; --color-text-light: #6b7280; --color-text-lighter: #9aa3ad;
  --color-border: rgba(31,35,40,.12); --color-border-light: rgba(31,35,40,.08);
  /* ④ 功能色 */
  --color-promo: #E53935; --color-success: #2fae66; --color-success-rgb: 47,174,102;
}

/* ---------- 首页容器与板块外壳 ---------- */
.container { width: 1240px; max-width: 100%; margin: 0 auto; }
.index-hos-con { margin: 26px 0; }
.index-hos-box { background: var(--color-bg-white); border-radius: 10px; padding: 0 0 22px; box-shadow: 0 2px 16px rgba(31,35,40,.05); overflow: hidden; }

/* ============================================================
   Tab 隐藏契约（功能性 CSS —— 必须留在 header 实际加载的 ai-new.css 里）
   header.html 只加载 ai-new.css（pc.css / ai.css 均已注释停用），
   若这条规则躺在被注释的旧表里，Tab 点了没反应 / 多分类同时显示。
   .current 只管导航高亮，不负责显隐 —— 显隐全靠下面这组规则。
   ============================================================ */
.news-mode { display: none !important; }
.ind-yh-list.news-mode,
.ind-doc-list.news-mode,
.ind-zx-list.news-mode,
.ind-hos-list.news-mode,
.ind-xm-list.news-mode,
.ind-wd-list.news-mode,
.ind-rc-list.news-mode { display: none !important; }

/* ============================================================
   BN1 极简原生轮播（(seed+11)%9 = 10620%9 = 0）
   刻意不写任何专属视觉样式：不设 max-width / 圆角 / 阴影 / 高度，
   位于 .container 之外故满宽通栏。仅保留库条目允许的一条兜底规则，
   防止素材尺寸不统一时裁切错乱。
   ============================================================ */
.ai-home-swiper img { width: 100%; display: block; }

/* ============================================================
   Header HE3「分块卡片悬浮型」（i=9 prime=31 → 14174 % 6 = 2）
   浅灰底通栏 + 3 张独立白色圆角卡片悬浮，hover 上移 3px + 阴影加深。
   横向布满规则：.site-header__wrap grid `auto 1fr auto` + justify-content: space-between。
   字段保护：logo / 搜索框 / 咨询电话 / 二维码 常态可见；二维码为「小图常显 + hover 弹大图」。
   ============================================================ */
.site-header--he3 { background: var(--color-bg); padding: 14px 0; }
.site-header--he3 .site-header__wrap {
  width: 1240px; max-width: 100%; margin: 0 auto;
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto;
  justify-content: space-between; align-items: stretch; gap: 14px;
}
.site-header--he3 .site-header__card {
  background: #fff; border-radius: 12px; box-shadow: 0 2px 10px rgba(31,35,40,.06);
  padding: 10px 18px; display: flex; align-items: center;
  transition: transform .25s ease, box-shadow .25s ease;
}
.site-header--he3 .site-header__card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(var(--color-primary-rgb),.18); }
.site-header--he3 .site-header__logo { display: inline-flex; align-items: center; line-height: 0; }
.site-header--he3 .site-header__logo img { height: 52px; width: auto; display: block; }
.site-header--he3 .site-header__card--search { padding: 10px 14px; }
.site-header--he3 .site-header__search { display: flex; align-items: center; width: 100%; background: var(--color-bg); border: 1px solid var(--color-border-light); border-radius: 999px; padding: 3px 3px 3px 18px; transition: border-color .2s ease, box-shadow .2s ease; }
.site-header--he3 .site-header__card--search:hover .site-header__search { border-color: rgba(var(--color-primary-rgb),.35); box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb),.08); }
.site-header--he3 .yz_seatext { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; height: 34px; font-size: 14px; color: var(--color-text-normal); }
.site-header--he3 .yz_seatext::placeholder { color: var(--color-text-lighter); }
.site-header--he3 .site-header__search-btn { flex-shrink: 0; width: 62px; height: 34px; border-radius: 999px; background: var(--color-accent); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s ease; }
.site-header--he3 .site-header__search-btn:hover { background: var(--color-accent-dark); }
.site-header--he3 .site-header__search-btn svg { width: 19px; height: 19px; }
.site-header--he3 .site-header__card--side { gap: 18px; }
.site-header--he3 .site-header__tel { display: flex; align-items: center; gap: 9px; }
.site-header--he3 .site-header__tel-ico { width: 26px; height: 26px; color: var(--color-primary); flex-shrink: 0; }
.site-header--he3 .site-header__tel-box { display: flex; flex-direction: column; line-height: 1.25; }
.site-header--he3 .site-header__tel-label { font-size: 11px; color: var(--color-text-light); font-style: normal; letter-spacing: .08em; }
.site-header--he3 .site-header__tel-num { font-size: 19px; font-weight: 800; color: var(--color-primary-dark); text-decoration: none; letter-spacing: -.01em; }
.site-header--he3 .site-header__qr { position: relative; flex-shrink: 0; }
.site-header--he3 .site-header__qr-thumb { width: 46px; height: 46px; display: block; border-radius: 8px; border: 1px solid var(--color-border-light); padding: 2px; background: #fff; }
.site-header--he3 .site-header__qr-pop {
  position: absolute; top: calc(100% + 12px); right: 0; z-index: 60;
  background: #fff; border-radius: 10px; padding: 10px; width: 132px; text-align: center;
  box-shadow: 0 14px 34px rgba(31,35,40,.18);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .22s ease, transform .22s ease, visibility .22s;
}
.site-header--he3 .site-header__qr:hover .site-header__qr-pop { opacity: 1; visibility: visible; transform: translateY(0); }
.site-header--he3 .site-header__qr-pop img { width: 110px; height: 110px; display: block; margin: 0 auto; }
.site-header--he3 .site-header__qr-pop span { display: block; margin-top: 6px; font-size: 12px; color: var(--color-text-light); }

/* ============================================================
   Nav NA6「斜切梯形 tab」（i=10 prime=37 → 12311 % 7 = 5）
   整条主色实底，各项 flex:1 等宽均分；每项 skewX(-14deg) 斜切成梯形 + 1px 半透明白分隔线，
   项内 <span> 反向 skewX(14deg) 纠偏保持文字不倾斜；hover/.active 用深主色实底填充。
   垂直内边距 14px 0、不写死横向 padding 也不加 height:100%（百分比高度会在 flex 拉伸下把某项撑高凸出）。
   ============================================================ */
.site-nav--skew { background: var(--color-primary); transition: box-shadow .25s ease; }
.site-nav--skew.is-scrolled { box-shadow: 0 4px 16px rgba(var(--color-primary-dark-rgb),.28); }
.site-nav--skew .site-nav__list { width: 1240px; max-width: 100%; margin: 0 auto; padding: 0; list-style: none; display: flex; justify-content: space-between; }
.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: 16px; font-weight: 600; text-decoration: none;
  transform: skewX(-14deg); border-left: 1px solid rgba(255,255,255,.2);
  transition: background .25s ease;
}
.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); }

/* ============================================================
   板块标题 T-E「左色块标签型」（seed % 7 = 10609 % 7 = 4，全站 7 个板块统一）
   左侧 36px 主色竖条 + 竖排英文；右侧中文主标题 + 副标题两行；专科 Tab 与「查看更多」贴右。
   ⚠ 顶层显式 display:flex（覆盖外层可能存在的其它 display），副标题 .te-sub 保留展示不丢字段。
   ⚠ 做成板块白卡顶部的通栏条（不再另加白底+阴影），避免白卡套白卡视觉发平。
   ============================================================ */
.mod-title-te { display: flex; align-items: stretch; background: #fff; border-bottom: 1px solid var(--color-border-light); margin: 0 0 18px; overflow: hidden; }
.mod-title-te .te-sidebar { width: 36px; min-width: 36px; background: var(--color-primary); display: flex; align-items: center; justify-content: center; padding: 12px 0; flex-shrink: 0; }
.mod-title-te .te-en { writing-mode: vertical-rl; text-orientation: mixed; font-size: 10px; font-weight: 700; color: rgba(255,255,255,.9); letter-spacing: .28em; text-transform: uppercase; }
.mod-title-te .te-main { padding: 14px 18px; flex: 1; min-width: 0; }
.mod-title-te .te-title { font-size: 22px; font-weight: 800; color: var(--color-text-dark); margin: 0; line-height: 1.25; letter-spacing: -.02em; }
.mod-title-te .te-sub { font-size: 12px; color: var(--color-text-light); margin: 5px 0 0; }
.mod-title-te .te-more { align-self: center; margin: 0 18px 0 4px; font-size: 13px; color: var(--color-text-light); text-decoration: none; white-space: nowrap; flex-shrink: 0; transition: color .2s ease; }
.mod-title-te .te-more:hover { color: var(--color-primary); }
/* 专科 Tab：T-E 风格里做成描边胶囊，激活项主色实底（Tab 切换结构未动，仅换皮） */
.mod-title-te .idx-tabs { display: flex; align-items: center; gap: 8px; align-self: center; flex-shrink: 0; }
.mod-title-te .idx-tabs .title { font-size: 13px; color: var(--color-text-light); cursor: pointer; padding: 6px 15px; border: 1px solid var(--color-border-light); border-radius: 999px; white-space: nowrap; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.mod-title-te .idx-tabs .title:hover { color: var(--color-primary); border-color: rgba(var(--color-primary-rgb),.4); }
.mod-title-te .idx-tabs .title.current { color: #fff; font-weight: 700; background: var(--color-primary); border-color: var(--color-primary); }

/* ============================================================
   TAB1 板块顶部分类 Tab 行 —— 静态导航型（.ind-sec-tabs）
   tab_pick=1 本站命中于：项目（无地区路由，退化为专科子分类列表页链接，纯站内导航不依赖列表变量）
   ============================================================ */
.ind-sec-tabs { display: flex; align-items: center; gap: 6px; background: #f4f6fa; border-radius: 10px; padding: 5px; margin: 0 20px 18px; flex-wrap: wrap; }
.ind-sec-tab { padding: 6px 16px; font-size: 13px; font-weight: 600; color: var(--color-text-light); text-decoration: none; border-radius: 7px; white-space: nowrap; transition: background .2s, color .2s, box-shadow .2s; }
.ind-sec-tab:hover { color: var(--color-primary); background: #fff; }
.ind-sec-tab.current { background: #fff; color: var(--color-primary); box-shadow: 0 1px 6px rgba(31,35,40,.10); }

/* ============================================================
   TAB2 板块顶部分类 Tab 行 —— 动态列表型（.doc-sec-tabs）
   tab_pick=2 本站命中于：医院 / 资讯 / 问答 / 热词
   左侧「热门」固定 pin，右侧视口内无缝横向滚动（同一 get_rand_project 调用输出两遍）
   ============================================================ */
.doc-sec-tabs { display: flex; align-items: center; gap: 0; border-bottom: 1px solid #f0f0f0; margin: 0 20px 18px; overflow: hidden; }
.doc-sec-tab--pin { flex-shrink: 0; margin-right: 28px; }
.doc-sec-tabs__viewport { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent 100%); mask-image: linear-gradient(90deg, #000 88%, transparent 100%); }
.doc-sec-tabs__track { display: flex; align-items: center; gap: 28px; width: max-content; animation: docSecTabsScroll 26s linear infinite; }
.doc-sec-tabs__viewport:hover .doc-sec-tabs__track { animation-play-state: paused; }
@keyframes docSecTabsScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.doc-sec-tab { flex-shrink: 0; padding: 8px 0; font-size: 14px; color: var(--color-text-lighter); text-decoration: none; font-weight: 500; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: color .2s, border-color .2s; white-space: nowrap; cursor: pointer; }
.doc-sec-tab:hover { color: var(--color-text-normal); }
.doc-sec-tab.current { color: var(--color-text-dark); font-weight: 700; border-bottom-color: var(--color-primary); }

/* ============================================================
   医院 H2「纯文字时间轴」（(10609 + 'h'104×3) = 10921 % 8 = 1）
   无图，左侧主色竖线 + 圆点节点，右侧机构名 / 地址 / 关联项目 / 更新时间竖排。
   字段：机构名 ✓ | 地址 ✓ | 关联项目标签 ✓ | 更新时间 ✓（H2 是库内明示的「无图」档，不输出 thumb）
   hover（纯文字列表档）：标题主色变色 + 左侧节点放大提亮 + 行底浅主色填充
   ⚠ 标签容器 .h2-item__tags 带 max-height(2 行) + overflow:hidden，配合 tag 显式 line-height，
     防止 get_cm_linkage_name_arr 全量输出导致行数忽 1 行忽 3+ 行。
   ============================================================ */
.h2-line { position: relative; list-style: none; margin: 0 20px; padding: 4px 0 4px 34px; }
.h2-line::before { content: ''; position: absolute; left: 6px; top: 12px; bottom: 12px; width: 2px; background: linear-gradient(180deg, var(--color-primary) 0%, rgba(var(--color-primary-rgb),.18) 100%); border-radius: 2px; }
.h2-item {
  position: relative; display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "name time" "addr time" "tags time";
  align-items: center; gap: 5px 18px;
  padding: 15px 12px 15px 14px; border-radius: 8px;
  border-bottom: 1px dashed var(--color-border-light);
  transition: background .25s ease;
}
.h2-item:last-child { border-bottom: none; }
.h2-item::before {
  content: ''; position: absolute; left: -33px; top: 50%; transform: translateY(-50%);
  width: 11px; height: 11px; border-radius: 50%;
  background: #fff; border: 3px solid var(--color-primary); box-sizing: border-box;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.h2-item:hover { background: rgba(var(--color-primary-rgb),.05); }
.h2-item:hover::before { transform: translateY(-50%) scale(1.35); border-color: var(--color-accent); box-shadow: 0 0 0 4px rgba(var(--color-accent-rgb),.18); }
.h2-item__name { grid-area: name; min-width: 0; font-size: 17px; font-weight: 700; color: var(--color-text-dark); text-decoration: none; transition: color .2s ease; }
.h2-item:hover .h2-item__name { color: var(--color-primary); }
.h2-item__addr { grid-area: addr; min-width: 0; font-size: 13px; color: var(--color-text-light); text-decoration: none; }
.h2-item__addr::before { content: '📍'; margin-right: 4px; }
.h2-item__tags { grid-area: tags; min-width: 0; display: flex; flex-wrap: wrap; gap: 6px; max-height: 46px; overflow: hidden; }
.h2-item__tag { line-height: 20px; padding: 0 9px; font-size: 12px; color: var(--color-primary-dark); background: var(--color-primary-light); border-radius: 4px; text-decoration: none; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.h2-item__tag:hover { background: var(--color-primary); color: #fff; }
.h2-item__time { grid-area: time; align-self: center; font-size: 12px; color: var(--color-text-lighter); text-decoration: none; white-space: nowrap; flex-shrink: 0; }

/* ============================================================
   医生 D5「杂志大图错位」（(10609 + 'a'97×7) = 11288 % 7 = 4）
   3:4 竖版大头像 + 主色色块装饰，奇数条左图右文、偶数条右图左文（:nth-child(even) 换向），单列。
   字段：头像 ✓ | 姓名 ✓ | 职称 ✓ | 所在机构 ✓ | 擅长简介 ✓ | 更新时间 ✓ | 预约 CTA ✓
   hover（杂志/横向图文档）：图片 scale(1.04) + 装饰色块位移 + 卡片阴影加深
   ============================================================ */
.d5-list { margin: 0 20px; display: flex; flex-direction: column; gap: 22px; }
.d5-item { position: relative; display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 26px; align-items: center; padding: 18px; border-radius: 12px; background: #fff; box-shadow: 0 2px 12px rgba(31,35,40,.06); transition: box-shadow .25s ease, transform .25s ease; }
.d5-item:nth-child(even) { grid-template-columns: minmax(0, 1fr) 250px; }
.d5-item:nth-child(even) .d5-item__hero { order: 2; }
.d5-item:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(31,35,40,.11); }
.d5-item__hero { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: 10px; overflow: hidden; background: var(--color-primary-light); }
.d5-item__hero::after { content: ''; position: absolute; left: 0; bottom: 0; width: 54px; height: 54px; background: var(--color-primary); opacity: .9; transition: transform .3s ease, background .3s ease; }
.d5-item:nth-child(even) .d5-item__hero::after { left: auto; right: 0; background: var(--color-accent); }
.d5-item:hover .d5-item__hero::after { transform: translate(-6px, 6px); }
.d5-item:nth-child(even):hover .d5-item__hero::after { transform: translate(6px, 6px); }
.d5-item__hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.d5-item:hover .d5-item__hero img { transform: scale(1.04); }
.d5-item__body { min-width: 0; }
.d5-item__head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.d5-item__name { font-size: 24px; font-weight: 800; color: var(--color-text-dark); text-decoration: none; letter-spacing: -.02em; transition: color .2s ease; }
.d5-item:hover .d5-item__name { color: var(--color-primary); }
.d5-item__zc { font-size: 13px; font-weight: 600; color: var(--color-accent-dark); background: rgba(var(--color-accent-rgb),.14); border-radius: 4px; padding: 3px 10px; text-decoration: none; }
/* camp 规则一/二：.d5-item__hos 带 camp1、.d5-item__desc 带 camp2 —— 这里只写视觉样式，
   不声明 display（display:block 会覆盖 camp 的 -webkit-box 使截断失效），也不重复写截断属性 */
.d5-item__hos { min-width: 0; margin-top: 10px; font-size: 14px; color: var(--color-primary-dark); text-decoration: none; padding: 0; }
.d5-item__hos::before { content: '🏥'; margin-right: 5px; }
.d5-item__desc { margin-top: 10px; font-size: 13px; line-height: 1.85; color: var(--color-text-light); text-decoration: none; padding: 0; }
.d5-item__foot { display: flex; align-items: center; gap: 16px; margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--color-border-light); }
.d5-item__time { font-size: 12px; color: var(--color-text-lighter); text-decoration: none; }
.d5-item__cta { margin-left: auto; cursor: pointer; font-size: 13px; font-weight: 700; color: #fff; background: var(--color-accent); border-radius: 999px; padding: 8px 24px; transition: background .2s ease, transform .2s ease; }
.d5-item__cta:hover { background: var(--color-accent-dark); transform: translateY(-2px); }

/* ============================================================
   资讯 N3「3 列等宽卡片」（(10609 + 'n'110×11) = 11819 % 9 = 2）
   图上文下，白底阴影卡片，3 列等宽；主列表 4 条 + right 列表前 2 条 = 6 格铺满 3×2。
   字段：封面图 ✓ | 标题 ✓ | 摘要 ✓ | 更新时间 ✓
   hover（竖版卡片网格档）：卡片整体上移 6px + 阴影加深 + 图片放大
   ============================================================ */
.n3-grid { margin: 0 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.n3-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--color-border-light); border-radius: 10px; overflow: hidden; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.n3-card:hover { transform: translateY(-6px); box-shadow: 0 16px 32px rgba(31,35,40,.12); border-color: rgba(var(--color-primary-rgb),.28); }
.n3-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--color-primary-light); }
.n3-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.n3-card:hover .n3-card__media img { transform: scale(1.06); }
.n3-card__body { display: flex; flex-direction: column; flex: 1; padding: 14px 16px 12px; }
.n3-card__title { font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--color-text-dark); padding: 0; transition: color .2s ease; }
.n3-card:hover .n3-card__title { color: var(--color-primary); }
.n3-card__desc { margin-top: 8px; font-size: 13px; line-height: 1.75; color: var(--color-text-light); padding: 0; }
.n3-card__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--color-border-light); }
.n3-card__d { font-style: normal; font-size: 12px; color: var(--color-text-lighter); }
.n3-card__go { font-style: normal; font-size: 12px; font-weight: 700; color: var(--color-accent-dark); }
.n3-card__go::after { content: ' →'; }

/* ============================================================
   分享 S6「横条列表 + 右侧缩略图榜」（(10609 + 'g'103×13) = 11948 % 9 = 5）
   左侧每条全宽横排（缩略图 + 标题 2 行 + 摘要 2 行 + 右对齐日期，行间细线分隔），
   右侧独立「最新分享」缩略图侧栏（80×60 小图 + 2 行标题 + 日期）。
   侧栏空数据：aside 不渲染时 .s6-main:only-child 跨满整行，不留空壳侧栏。
   hover（横向列表档）：图片 scale(1.04) + 左侧主色竖线从 0 高展开
   ============================================================ */
.s6-layout { margin: 0 20px; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 26px; align-items: start; }
.s6-layout > .s6-main:only-child { grid-column: 1 / -1; }
.s6-main { min-width: 0; }
.s6-item { position: relative; display: flex; gap: 16px; padding: 16px 12px 16px 14px; text-decoration: none; border-bottom: 1px solid var(--color-border-light); transition: background .25s ease; }
.s6-item:last-child { border-bottom: none; }
.s6-item::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3px; height: 0; background: var(--color-primary); border-radius: 2px; transition: height .28s ease; }
.s6-item:hover { background: rgba(var(--color-primary-rgb),.04); }
.s6-item:hover::before { height: 60%; }
.s6-item__media { position: relative; flex-shrink: 0; width: 200px; height: 132px; border-radius: 8px; overflow: hidden; background: var(--color-primary-light); }
.s6-item__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.s6-item:hover .s6-item__media img { transform: scale(1.04); }
.s6-item__body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.s6-item__title { font-size: 16px; font-weight: 700; line-height: 1.5; color: var(--color-text-dark); padding: 0; transition: color .2s ease; }
.s6-item:hover .s6-item__title { color: var(--color-primary); }
.s6-item__desc { margin-top: 7px; font-size: 13px; line-height: 1.75; color: var(--color-text-light); padding: 0; }
.s6-item__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 10px; }
.s6-item__sign { font-size: 12px; color: var(--color-accent-dark); background: rgba(var(--color-accent-rgb),.13); border-radius: 4px; padding: 2px 9px; }
.s6-item__d { font-size: 12px; color: var(--color-text-lighter); }
.s6-side { min-width: 0; background: var(--color-bg); border-radius: 10px; padding: 6px 14px 12px; }
.s6-side__hd { font-size: 15px; font-weight: 800; color: var(--color-text-dark); padding: 12px 0 10px; border-bottom: 2px solid var(--color-primary); margin-bottom: 6px; }
.s6-side__item { display: flex; gap: 10px; padding: 10px 0; text-decoration: none; border-bottom: 1px dashed var(--color-border-light); }
.s6-side__item:last-child { border-bottom: none; }
.s6-side__media { position: relative; flex-shrink: 0; width: 80px; height: 60px; border-radius: 6px; overflow: hidden; background: var(--color-primary-light); }
.s6-side__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.s6-side__item:hover .s6-side__media img { transform: scale(1.06); }
.s6-side__body { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.s6-side__t { font-size: 13px; line-height: 1.5; color: var(--color-text-normal); padding: 0; transition: color .2s ease; }
.s6-side__item:hover .s6-side__t { color: var(--color-primary); }
.s6-side__d { margin-top: auto; padding-top: 5px; font-size: 11px; color: var(--color-text-lighter); }

/* ============================================================
   项目 P5「4 列紧凑网格」（(10609 + 'c'99×17) = 12292 % 6 = 4）
   图上文下紧凑卡片，一行四个等宽 repeat(4, minmax(0,1fr))，不横向滚动；每专科 8 条 → 4×2。
   字段：封面图 ✓ | 标题 ✓ | 简介 ✓ | 优惠价 ✓ | 原价 ✓ | 更新时间 ✓ | 咨询 CTA ✓
   价格固定规则：优惠价强制 #E53935；原价灰色删除线。
   hover（竖版卡片网格档）：卡片上移 + 阴影加深 + 图片放大（与 N3 同族但列数/密度/角标不同）
   ============================================================ */
.p5-grid { margin: 0 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.p5-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--color-border-light); border-radius: 10px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.p5-card:hover { transform: translateY(-6px); box-shadow: 0 14px 28px rgba(31,35,40,.12); }
.p5-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--color-primary-light); }
.p5-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.p5-card:hover .p5-card__media img { transform: scale(1.06); }
.p5-card__body { display: flex; flex-direction: column; flex: 1; padding: 11px 13px 12px; }
.p5-card__title { font-size: 15px; font-weight: 700; line-height: 1.5; color: var(--color-text-dark); text-decoration: none; padding: 0; transition: color .2s ease; }
.p5-card:hover .p5-card__title { color: var(--color-primary); }
.p5-card__desc { margin-top: 6px; font-size: 12px; line-height: 1.7; color: var(--color-text-light); text-decoration: none; padding: 0; }
.p5-card__price { display: flex; align-items: baseline; gap: 8px; margin-top: 10px; }
.project-card__price-num { color: #E53935 !important; }
.p5-card__now { font-size: 19px; font-weight: 800; letter-spacing: -.02em; }
.p5-card__origin { font-size: 12px; color: #aaa; text-decoration: line-through; }
.p5-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 11px; }
.p5-card__time { font-size: 11px; color: var(--color-text-lighter); text-decoration: none; }
.p5-card__cta { cursor: pointer; font-size: 12px; font-weight: 700; color: var(--color-accent-dark); border: 1px solid rgba(var(--color-accent-rgb),.5); border-radius: 999px; padding: 5px 13px; white-space: nowrap; transition: background .2s ease, color .2s ease; }
.p5-card__cta:hover { background: var(--color-accent); border-color: var(--color-accent); color: #fff; }

/* ============================================================
   问答 Q2「手风琴折叠」（算法原值 pick=0 → Q1；按第二步规则 2「相邻不得同类视觉风格」
   调整到次优 pick=1 → Q2，拆开 项目 P5 / 热词 T3 两侧的矩形网格三连）
   纯 CSS details/summary，无额外 JS；首条默认展开。
   字段：问题标题 ✓ | 已解答状态 ✓ | 更新时间 ✓ | 答案摘要 ✓（details 是交互式披露，答案始终在 DOM 内）
   hover（折叠/交互档）：整行浅主色填充 + 箭头旋转
   ============================================================ */
.q2-list { margin: 0 20px; display: flex; flex-direction: column; gap: 10px; }
.q2-item { border: 1px solid var(--color-border-light); border-radius: 10px; background: #fff; overflow: hidden; transition: border-color .25s ease, box-shadow .25s ease; }
.q2-item[open] { border-color: rgba(var(--color-primary-rgb),.35); box-shadow: 0 6px 18px rgba(var(--color-primary-rgb),.09); }
.q2-item__q { display: flex; align-items: center; gap: 12px; padding: 14px 16px; cursor: pointer; list-style: none; transition: background .22s ease; }
.q2-item__q::-webkit-details-marker { display: none; }
.q2-item__q::marker { content: ''; }
.q2-item__q:hover { background: rgba(var(--color-primary-rgb),.05); }
.q2-item__badge { flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #fff; background: var(--color-primary); }
.q2-item__badge--a { background: var(--color-accent); }
.q2-item__title { flex: 1; min-width: 0; font-size: 15px; font-weight: 700; color: var(--color-text-dark); padding: 0; }
.q2-item__state { flex-shrink: 0; font-style: normal; font-size: 11px; font-weight: 700; color: var(--color-success); background: rgba(var(--color-success-rgb),.12); border-radius: 4px; padding: 3px 9px; }
.q2-item__time { flex-shrink: 0; font-style: normal; font-size: 12px; color: var(--color-text-lighter); }
.q2-item__arrow { flex-shrink: 0; width: 9px; height: 9px; border-right: 2px solid var(--color-text-lighter); border-bottom: 2px solid var(--color-text-lighter); transform: rotate(45deg); margin-top: -4px; transition: transform .25s ease, border-color .25s ease; }
.q2-item[open] .q2-item__arrow { transform: rotate(-135deg); margin-top: 3px; border-color: var(--color-primary); }
.q2-item__a { display: flex; align-items: flex-start; gap: 12px; padding: 0 16px 16px 16px; }
.q2-item__atxt { font-size: 13px; line-height: 1.9; color: var(--color-text-light); text-decoration: none; background: var(--color-bg); border-radius: 8px; padding: 11px 14px; flex: 1; min-width: 0; transition: color .2s ease; }
.q2-item__atxt:hover { color: var(--color-text-normal); }

/* ============================================================
   热词 T3「方格色块网格」（(10609 + 'e'101×23) = 12932 % 6 = 2）
   4×N 正方形，主色渐变 + 白字居中（无圆角，强结构感）；每专科 8 条 → 4×2。
   时间字段：热词本可豁免，但 tags 带 lastusetime，按保留原则在格底补日期小字。
   hover（主色实底档）：格子内渐变翻转为辅色 + 文字轻微上移
   ============================================================ */
.t3-grid { margin: 0 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; }
.t3-cell { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; aspect-ratio: 1 / 1; padding: 12px; text-decoration: none; background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); transition: background .3s ease; }
.t3-cell:nth-child(even) { background: linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%); }
.t3-cell:hover { background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%); }
.t3-cell__tag { min-width: 0; max-width: 100%; font-size: 17px; font-weight: 700; color: #fff; text-align: center; line-height: 1.45; padding: 0; transition: transform .25s ease; }
.t3-cell:hover .t3-cell__tag { transform: translateY(-3px); }
.t3-cell__d { font-style: normal; font-size: 11px; color: rgba(255,255,255,.72); letter-spacing: .04em; }

/* ============================================================
   MQ1 板块底部知名/热门横向自动滚动榜（.doc-bottom-nav）
   mq_pick=3 本站命中于：资讯（数据带真实缩略图，跨专科聚合，切 Tab 不隐藏）
   同一表达式输出两遍 → translateX(-50%) 无缝循环；hover 暂停。
   ============================================================ */
.doc-bottom-nav { display: flex; align-items: center; gap: 16px; margin: 22px 20px 0; padding: 12px 16px; background: var(--color-bg); border-radius: 10px; overflow: hidden; }
.doc-bottom-nav__label { flex-shrink: 0; font-size: 14px; font-weight: 800; color: var(--color-text-dark); padding-right: 16px; border-right: 2px solid var(--color-primary); }
.doc-bottom-nav__track-wrap { flex: 1; min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 92%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 92%, transparent 100%); }
.doc-bottom-nav__track { display: flex; align-items: center; gap: 26px; width: max-content; animation: docBottomNavScroll 34s linear infinite; }
.doc-bottom-nav__track-wrap:hover .doc-bottom-nav__track { animation-play-state: paused; }
@keyframes docBottomNavScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.doc-bottom-nav__item { flex-shrink: 0; display: flex; align-items: center; gap: 9px; text-decoration: none; padding: 4px 0; }
.doc-bottom-nav__img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(31,35,40,.12); transition: transform .25s ease; }
.doc-bottom-nav__item:hover .doc-bottom-nav__img { transform: scale(1.08); }
.doc-bottom-nav__name { max-width: 190px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px; font-weight: 600; color: var(--color-text-normal); transition: color .2s ease; }
.doc-bottom-nav__item:hover .doc-bottom-nav__name { color: var(--color-primary); }
.doc-bottom-nav__time { font-style: normal; font-size: 11px; color: var(--color-text-lighter); flex-shrink: 0; }

/* ============================================================
   GD3 左侧页内锚点快捷导航（.anav —— Scrollspy 竖向锚点条）
   浮层组件默认不叠加；本站沿用是因用户此前明确要求叠加，不属默认项。
   BN1 轮播极简，页面缺少常驻导流层，GD3 承担页内跳转补足。
   ============================================================ */
.anav { position: fixed; left: 16px; top: 50%; transform: translateY(-50%); z-index: 40; }
.anav__list { list-style: none; margin: 0; padding: 10px 8px; display: flex; flex-direction: column; gap: 4px; background: rgba(255,255,255,.82); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid var(--color-border-light); border-radius: 999px; box-shadow: 0 8px 26px rgba(31,35,40,.12); }
.anav__item { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 999px; cursor: pointer; transition: background .22s ease; }
.anav__item:hover { background: rgba(var(--color-primary-rgb),.09); }
.anav__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--color-text-lighter); flex-shrink: 0; transition: background .22s ease, transform .22s ease; }
.anav__txt { font-size: 12px; color: var(--color-text-light); white-space: nowrap; transition: color .22s ease; }
.anav__item.is-active .anav__dot { background: var(--color-accent); transform: scale(1.4); }
.anav__item.is-active .anav__txt { color: var(--color-primary-dark); font-weight: 700; }
@media (max-width: 1440px) { .anav { display: none; } }

/* ============================================================
   Footer F1「深色渐变 3 列 Grid」（i=8 prime=29 → 14060 % 5 = 0）
   深色渐变底取自 logo 文字的深藏青 #1A183C 一族（不套用布局库片段里那套绿色写死值），
   顶部 3px 主色描线；Grid 三列 200px | 1fr | 120px；底部更深的版权带。
   ============================================================ */
#footer.footer--f1 {
  background: linear-gradient(135deg, #101a30 0%, #14304f 58%, #0d1b2e 100%);
  border-top: 3px solid var(--color-primary);
  color: rgba(255,255,255,.85);
  margin-top: 46px;
}
#footer.footer--f1 .containers { width: 1240px; max-width: 100%; margin: 0 auto; display: grid; grid-template-columns: 200px minmax(0, 1fr) 120px; align-items: start; gap: 36px; padding: 40px 24px 32px; box-sizing: border-box; }
#footer.footer--f1 a, #footer.footer--f1 p, #footer.footer--f1 span { color: rgba(255,255,255,.75); }
#footer.footer--f1 a { text-decoration: none; transition: color .2s ease; }
#footer.footer--f1 a:hover { color: var(--color-accent); }
#footer.footer--f1 .logo { width: 100%; height: auto; display: block; filter: brightness(0) invert(1); opacity: .95; }
#footer.footer--f1 .f1-desc { margin: 12px 0 0; font-size: 12px; line-height: 1.8; color: rgba(255,255,255,.55); }
#footer.footer--f1 .f1-mid { font-size: 13px; line-height: 1.95; }
#footer.footer--f1 .f1-mid p { margin: 4px 0; }
#footer.footer--f1 .f1-nav-title { font-size: 14px; font-weight: 800; color: #fff; padding-bottom: 8px; margin-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.14); }
#footer.footer--f1 .f1-nav-links { display: flex; flex-wrap: wrap; gap: 8px 10px; margin-bottom: 12px; }
#footer.footer--f1 .f1-nav-links a { font-size: 13px; line-height: 22px; padding: 0 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; transition: background .2s ease, border-color .2s ease, color .2s ease; }
#footer.footer--f1 .f1-nav-links a:hover { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
#footer.footer--f1 .beizhu { font-size: 12px; color: rgba(255,255,255,.5); }
#footer.footer--f1 .f1-qr { text-align: center; }
#footer.footer--f1 .code { width: 110px; height: 110px; display: block; border-radius: 10px; padding: 5px; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.3); }
#footer.footer--f1 .f1-qr-cap { display: block; margin-top: 8px; font-size: 12px; color: rgba(255,255,255,.6); }
#footer.footer--f1 .footer-bottom { background: rgba(0,0,0,.28); text-align: center; font-size: 12px; padding: 13px 24px; letter-spacing: .06em; color: rgba(255,255,255,.6); }

/* ============================================================
   响应式（≤1240px / ≤960px）—— 首页区块专用
   ============================================================ */
@media (max-width: 1240px) {
  .p5-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .s6-layout { grid-template-columns: minmax(0, 1fr) 260px; }
}
@media (max-width: 960px) {
  .site-header--he3 .site-header__wrap { grid-template-columns: 1fr; gap: 12px; }
  .site-nav--skew .site-nav__list { flex-wrap: wrap; }
  .site-nav--skew .site-nav__item { flex: 0 0 25%; }
  .site-nav--skew .site-nav__item > a { transform: none; border-left: none; }
  .site-nav--skew .site-nav__item > a > span { transform: none; }

  .mod-title-te { flex-wrap: wrap; }
  .mod-title-te .te-main { flex: 1 0 60%; }
  .mod-title-te .idx-tabs { flex-wrap: wrap; padding: 0 0 12px 36px; }
  .mod-title-te .te-more { margin-bottom: 12px; }

  .h2-item { grid-template-columns: minmax(0, 1fr); grid-template-areas: "name" "addr" "tags" "time"; }
  .h2-item__time { justify-self: start; }

  .d5-item,
  .d5-item:nth-child(even) { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .d5-item:nth-child(even) .d5-item__hero { order: 0; }
  .d5-item__hero { aspect-ratio: 16 / 10; }

  .n3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p5-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .t3-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .s6-layout { grid-template-columns: minmax(0, 1fr); }
  .s6-item { flex-direction: column; }
  .s6-item__media { width: 100%; height: auto; aspect-ratio: 16 / 10; }

  #footer.footer--f1 .containers { grid-template-columns: 1fr !important; text-align: center; }
  #footer.footer--f1 .logo { width: 200px; margin: 0 auto; }
  #footer.footer--f1 .code { margin: 0 auto; }
  #footer.footer--f1 .f1-nav-links { justify-content: center; }
}

/* ===== PC首页区块 END ===== */



/* ===== 列表页 / 详情页样式（非首页，保留不动） ===== */
.regional-filter,
.regionalFiltering {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(var(--color-primary-dark-rgb), 0.05);
  padding: 2px 20px;
  margin: 18px 0;
  border: 1px solid var(--color-border-light);
}
.regional-filter__row,
.regionalFilteringBox {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 13px 0;
  border-bottom: 1px solid var(--color-border-light);
}
.regional-filter__row:last-child,
.regionalFilteringBox:last-child {
  border-bottom: none;
}
.regional-filter__label,
.regionalFilteringLeft {
  flex-shrink: 0;
  width: 44px;
  display: inline-flex;
  align-items: baseline;
  padding-top: 5px;
}
.regional-filter__label-text,
.regionalFilteringLeft > span {
  position: relative;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text-dark);
  padding-left: 10px;
  letter-spacing: .04em;
  line-height: 1.4;
}
.regional-filter__label-text::before,
.regionalFilteringLeft > span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 14px;
  border-radius: 2px;
  background: var(--color-primary);
}
.regional-filter__options,
.regionalFilteringRight {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  padding: 2px 0;
}
.regional-filter__link,
.regional-filter__options a,
.regionalFilteringRight a {
  display: inline-flex;
  align-items: center;
  padding: 5px 15px;
  font-size: 13px;
  color: var(--color-text-normal);
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 16px;
  white-space: nowrap;
  line-height: 1.6;
  transition: color .2s, background .2s, border-color .2s, transform .15s, box-shadow .2s;
}
.regional-filter__link:hover,
.regional-filter__options a:hover,
.regionalFilteringRight a:hover {
  color: var(--color-primary-dark);
  background: var(--color-primary-light);
  border-color: rgba(var(--color-primary-rgb), 0.25);
  transform: translateY(-1px);
}
.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%);
  border-color: transparent;
  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;
  transform: translateY(-1px);
  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 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: linear-gradient(180deg, rgba(var(--color-primary-light-rgb), 0.55) 0%, #fff 100%);
  border-radius: 0;
  padding: 14px 4px 12px;
  margin: 14px 0 18px;
  box-shadow: none;
  border: none;
  border-bottom: 2px solid rgba(var(--color-primary-rgb), 0.18);
  overflow: visible;
  width: 100%;
  box-sizing: border-box;
}
.hospital-tabs::before,
.yy-list-tabs::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 72px;
  height: 3px;
  border-radius: 2px 2px 0 0;
  background: var(--color-primary);
}
.hospital-tabs::after,
.yy-list-tabs::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(var(--color-primary-rgb), 0.35) 0%, transparent 55%);
}
.hospital-tab-item--title {
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
  flex: 1;
  min-width: 0;
  padding-left: 2px;
}
.hospital-tab-item__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: var(--color-primary);
  font-size: 12px;
  font-weight: 700;
  padding: 0 0 0 10px;
  border-radius: 0;
  letter-spacing: .12em;
  box-shadow: none;
  flex-shrink: 0;
  white-space: nowrap;
  position: relative;
  line-height: 1.2;
}
.hospital-tab-item__badge::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  bottom: 0.15em;
  width: 3px;
  border-radius: 1px;
  background: var(--color-accent);
}
.hospital-tab-item__text {
  font-size: 18px;
  font-weight: 700;
  color: var(--color-text-dark);
  letter-spacing: .03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.3;
}
.hospital-tab-item--consult {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1.5px solid var(--color-primary);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 18px;
  border-radius: 4px;
  color: var(--color-primary-dark);
  background: #fff;
  box-shadow: none;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .15s ease;
  white-space: nowrap;
  position: relative;
  flex-shrink: 0;
  line-height: 1.2;
}
.hospital-tab-item--consult::before {
  content: none;
}
.hospital-tab-item--consult:hover {
  color: #fff;
  background: var(--color-primary);
  border-color: var(--color-primary);
  transform: translateY(-1px);
  box-shadow: none;
  filter: none;
}
.hospital-tab-item--consult:active {
  transform: translateY(0);
  background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  box-shadow: none;
}

/* ==============================
   .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;
  box-sizing: border-box;
}

.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='%23a0dbdc'%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='%23a0dbdc'%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='%23a0dbdc'%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 — 侧边栏栏目标题（底线分割 + 文字「更多」）
   与 .hospital-tabs 同系：无卡片壳 / 左短横标记 / 描边交互
   ============================== */
.aside_con {
  padding: 10px 12px 16px;
  gap: 0;
}

.aside_con .aside_titcon.aside-head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 10px 2px 11px;
  border: none;
  border-bottom: 2px solid rgba(var(--color-primary-rgb), 0.16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: inherit;
  font-weight: normal;
  color: inherit;
}

.aside_con .aside_titcon.aside-head::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 48px;
  height: 3px;
  border-radius: 2px 2px 0 0;
  background: var(--color-primary);
}

.aside_con .aside-head:not(:first-of-type) {
  margin-top: 18px;
}

.aside_con .aside-head__title,
.aside_con .aside_tit.aside-head__title {
  position: relative;
  margin: 0;
  flex: 1;
  min-width: 0;
  padding-left: 11px;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-text-dark);
  letter-spacing: .03em;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.aside_con .aside-head__title::before,
.aside_con .aside_tit.aside-head__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  bottom: 0.2em;
  width: 3px;
  border-radius: 1px;
  background: var(--color-accent);
}

.aside_con .aside-head__more,
.aside_con a.aside_more.aside-head__more {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
  padding: 4px 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-primary);
  background: transparent;
  border: none;
  border-radius: 0;
  text-decoration: none;
  box-shadow: none;
  transition: color .2s ease, transform .15s ease;
}

.aside_con .aside-head__more:hover,
.aside_con a.aside_more.aside-head__more:hover {
  color: var(--color-primary-dark);
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  transform: none;
}

.aside_con .aside-head__more-ico {
  display: inline-block;
  font-size: 13px;
  line-height: 1;
  transition: transform .2s ease;
}

.aside_con .aside-head__more:hover .aside-head__more-ico {
  transform: translateX(3px);
}

.aside_con .aside-head + .card_con,
.aside_con .aside-head + a.card_rightcon {
  margin-top: 12px;
}



/* 空结果提示 */
.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: 2px 14px; }
  .regional-filter__row,
  .regionalFilteringBox {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px 0;
  }
  .regional-filter__label,
  .regionalFilteringLeft {
    width: auto;
    padding-top: 0;
  }
  .regional-filter__options,
  .regionalFilteringRight {
    gap: 8px;
  }
  .regional-filter__link,
  .regional-filter__options a,
  .regionalFilteringRight a {
    padding: 6px 14px;
  }

  .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;
    height: 150px;
  }
  .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;
  }
}

/* 资讯详情：标题区项目标签 */
.zx_detcon .zx_projects {
  display: flex;
  align-items: flex-start;
  width: 100%;
  flex-basis: 100%;
  margin-top: 8px;
  gap: 8px;
}
.zx_detcon .zx_projects__label {
  flex-shrink: 0;
  line-height: 28px;
  white-space: nowrap;
  color: #666;
}
.zx_detcon .zx_projects__track {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 6px;
  flex: 1;
  min-width: 0;
  max-height: 96px;
  overflow-y: auto;
  padding-right: 4px;
  line-height: 1.5;
  color: #666;
}
.zx_detcon .zx_projects__track .zx_projects__tag,
.zx_detcon .zx_projects__track a.zx_projects__tag,
.zx_detcon .zx_projects__track span.zx_projects__tag {
  display: inline-block;
  max-width: 160px;
  padding: 2px 10px;
  font-size: 12px;
  line-height: 22px;
  color: var(--color-primary-dark, #08646A);
  background: #fff;
  border: 1px solid var(--color-primary-light, #DCF2F3);
  border-radius: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  box-sizing: border-box;
}
.zx_detcon .zx_projects__track a.zx_projects__tag:hover {
  background: var(--color-primary, #0B7C82);
  border-color: var(--color-primary, #0B7C82);
  color: #fff;
}
.zx_detcon .zx_projects__track span.zx_projects__tag {
  cursor: default;
}