/* ============================================================
   refine_ds.css —— 批次1：设计系统统一（纯覆盖层）
   选择器全部来自线上真实 DOM 无头实测（probe_ds.json / probe_ds2.json）
   不改 app.css；删 link 即全量回滚。

   [B1] 设计令牌   [B2] 版心限宽   [B3] 正文与行高
   [B4] 标题节奏   [B5] 按钮体系   [B6] 圆角收敛
   [B7] 阴影统一   [B8] 微交互     [B9] 区块间距
   ============================================================ */

/* ---- [B1] 设计令牌 ---- */
:root{
  --ds-blue:#3a7bff;          /* 品牌蓝，保持不变 */
  --ds-blue-d:#2c62d9;        /* hover 深一档 */
  --ds-ink:#1f2937;           /* 主文字 */
  --ds-ink-2:#4b5563;         /* 次要文字 */
  --ds-r-sm:8px;              /* 按钮/输入 */
  --ds-r-md:12px;             /* 常规卡片 */
  --ds-r-lg:16px;             /* 大卡/弹层 */
  --ds-sh-sm:0 1px 3px rgba(24,39,75,.07);
  --ds-sh-md:0 6px 20px rgba(24,39,75,.10);
  --ds-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---- [B2] 版心限宽：1425 -> 1240，内容区居中留白 ----
   仅作用于 .contain（实测全站内容容器，padding 72/72）
   不动 pulic_head_cont / foot / banner 等通栏背景层 */
.contain{
  max-width:1240px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
  box-sizing:border-box !important;
}

/* ---- [B3] 正文：14 -> 15px，行高 1.62 ---- */
body{
  font-size:15px !important;
  line-height:1.62 !important;
  color:var(--ds-ink) !important;
}

/* 实测：15px 会让 .bit_dl(48px) / .tips_dl(126px) 这类定高容器装不下文字
   （原 14px/22.4 两行=44.8，15px/26.25 两行=52.5 -> 溢出 5px 被切一半）
   这里放行高度自适应，避免"字号变大但文字被切" */
.bit_dl, .tips_dl{
  height:auto !important;
  min-height:0 !important;
  overflow:visible !important;
}

/* ---- [B4] 标题节奏：只收紧行高，不动字号（原站 h2 字号 12~40 混用，
   强行统一会撑破卡片）。排除第三方注入的 .header-xxxxx 组件 */
h1:not([class*=header-]),
h3:not([class*=header-]){
  line-height:1.35 !important;
  font-weight:700 !important;
}
h2:not([class*=header-]):not([class*=title_head]){
  line-height:1.45 !important;
}

/* ---- [B5] 按钮体系（本次收益最大项）----
   实测 a.join_btn = 灰 #95989f 白字 18px，全站 13 个「点击进入」
   -> 升级为品牌蓝实心 + 600 字重 + 蓝色光晕 */
a.join_btn{
  background:var(--ds-blue) !important;
  color:#fff !important;
  border:none !important;
  border-radius:var(--ds-r-sm) !important;
  font-weight:600 !important;
  letter-spacing:.02em;
  box-shadow:0 4px 14px rgba(58,123,255,.28) !important;
  transition:background-color .2s var(--ds-ease),
             box-shadow .2s var(--ds-ease),
             transform .2s var(--ds-ease) !important;
}
a.join_btn:hover{
  background:var(--ds-blue-d) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 8px 22px rgba(58,123,255,.36) !important;
}

a.login_btn,
a.det_btn,
a.gengduo,
a.btn{
  border-radius:var(--ds-r-sm) !important;
  font-weight:600 !important;
  transition:background-color .2s var(--ds-ease),
             color .2s var(--ds-ease),
             box-shadow .2s var(--ds-ease) !important;
}

/* ---- [B6] 圆角收敛：20/15/5px 零散值 -> 16/12/8 ----
   注意：.dd 在国家页是 100px 胶囊、在列表页是 3px，同名不同值，绝不全局改 */
.main_box{
  border-radius:var(--ds-r-lg) !important;
}
.search_cont{
  border-radius:var(--ds-r-md) !important;
}

/* ---- [B7] 阴影统一：蓝灰调替换原站灰黑影 ---- */
.main_box{
  box-shadow:var(--ds-sh-md) !important;
}
.search_cont{
  box-shadow:0 8px 26px rgba(24,39,75,.12) !important;
}

/* ---- [B8] 微交互：0.2s 统一过渡（只给按钮与导航链接，
   不碰 .bit_cont/.list/.swiper-*，避免与卡片抬升、轮播位移冲突）---- */
a.li, a.dd, a.tis, a.det_btn, a.gengduo, a.btn,
input[type=text], input[type=search], select{
  transition:color .2s var(--ds-ease),
             background-color .2s var(--ds-ease),
             border-color .2s var(--ds-ease),
             box-shadow .2s var(--ds-ease) !important;
}
a.li:hover, a.dd:hover, a.tis:hover{
  color:var(--ds-blue) !important;
}

/* ---- [B9] 区块间距：country_case 50/90/80/60 -> 统一 72 ----
   首页 index_case 留到批次2 配合首屏重排一起动，本次不碰 */
[class*=country_case]:not(.country_case1_baner):not(.country_case3_baner){
  padding-top:72px !important;
  padding-bottom:72px !important;
}
