/* =========================================================
   theme-senior.css — 适老可读优先 覆盖层
   ---------------------------------------------------------
   在主色板基础上做三件事：
     1) 提高对比度（正文更深、次要文字不用浅灰）
     2) 放大字号与行高（基准 17px → 18.5px）
     3) 放大点击热区（按钮/选项/输入不低于 48px）
   办法：重声明同名 CSS 变量 + 用同选择器覆盖，不用 !important。
   ========================================================= */

:root {
  /* 更高的文字对比度 */
  --ink-900:#241a12;
  --ink-800:#382a1e;
  --ink-700:#4b3a2b;
  --ink-600:#634d3a;
  --ink-500:#7d6449;
  --ink-400:#9c8264;
  --ink-300:#bfa585;

  /* 更实的边框，界线更清楚 */
  --line:#e3cfb4;
  --line-soft:#f1e4d2;
  --bg:#fdf9f3;
  --washes:#fbf0df;

  /* 语义色加深，保证在浅底上够清楚 */
  --warn:#9a4508; --warn-bg:#fdf1dc; --warn-line:#eddab0;
  --danger:#9f1f18; --danger-bg:#fdeae7; --danger-line:#f2c4be;
  --info:#154c92; --info-bg:#e9f1fc; --info-line:#c2d8f5;
  --success:#236448; --success-bg:#e7f5ed; --success-line:#badecb;

  --c-pay:#154c92; --c-pay-bg:#e9f1fc; --c-pay-line:#c2d8f5;
  --c-injury:#9f1f18; --c-injury-bg:#fdeae7; --c-injury-line:#f2c4be;
  --c-med:#59418f; --c-med-bg:#f0ebfa; --c-med-line:#d3c7ef;

  --s-before:#236448; --s-before-bg:#e7f5ed;
  --s-middle:#9a4508; --s-middle-bg:#fdf1dc;
  --s-after:#463374; --s-after-bg:#f0ebfa;

  /* 更柔和的圆角、更实的阴影 */
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:26px;
  --shadow-sm:0 1px 3px rgba(70,45,20,.08), 0 2px 6px rgba(70,45,20,.07);
  --shadow-md:0 3px 10px rgba(70,45,20,.09), 0 12px 28px -10px rgba(70,45,20,.15);
  --shadow-lg:0 14px 34px -12px rgba(70,45,20,.22), 0 4px 10px rgba(70,45,20,.07);
  --ring:0 0 0 4px rgba(209,96,15,.28);

  /* 字号与行高 */
  --fs:18.5px;
  --hdr:82px;
}

body {
  font-size:var(--fs);
  line-height:1.85;
  color:var(--ink-800);
}

/* ---- 标题整体加大 ---- */
h1 { letter-spacing:-.005em; }
.hero h1 { font-size:46px; line-height:1.24; }
.sec-head h2 { font-size:31px; }
.pagehead h1 { font-size:33px; }
.ph-ico { width:56px; height:56px; border-radius:17px; }
.blk-h { font-size:24px; }
.cmp-h { font-size:24px; }
.qz-q { font-size:28px; }
.res-hero h2 { font-size:26px; }
.res-h { font-size:21px; }
.acc-q { font-size:18.5px; }
.ck-body b { font-size:17.5px; }
.case-card h3 { font-size:20px; }
.lc-name { font-size:18px; }
.lc-clause { font-size:17px; }
.mc-region { font-size:22px; }

/* ---- 正文与非标题文字 ---- */
.hero-lead { font-size:19.5px; }
.ph-sub { font-size:18px; }
.sec-head p { font-size:18px; }
.blk-sub { font-size:17px; }
.a-title { font-size:18.5px; }
.a-desc, .lc-focus, .cr-read, .cg-row p, .ev-item span { font-size:16px; }
.a-why, .note-row, .trap-row p, .disp-card p, .kf-card p, .flow-step p,
.callout, .cr-text, .mc-points li, .cko-ok p, .cko-mid p, .cko-bad p { font-size:16.5px; }
.about-p { font-size:17.5px; }
.ft-brand p, .ft-cols a { font-size:15.5px; }
.muted, .crumb, .cf-hint, .count-hint { color:var(--ink-600); }
.cf-hint, .empty-hint { font-size:15px; }

/* ---- 点击热区：按钮 / 选项 / 输入，不低于 48px ---- */
.btn { padding:15px 25px; font-size:17px; min-height:50px; }
.btn-lg { padding:18px 31px; font-size:18.5px; min-height:58px; }
.btn-sm { padding:11px 18px; font-size:16px; min-height:44px; }

.qo { padding:20px 22px; min-height:68px; }
.qo-t { font-size:18px; }
.qo-d { font-size:16px; }

.reg-btn { padding:18px 20px; min-height:64px; }
.reg-btn b { font-size:17.5px; }
.reg-btn span { font-size:15.5px; }
.reg-btn em { font-size:14.5px; }

.pill { padding:11px 20px; font-size:16px; min-height:46px; }
.ask-chip { padding:12px 19px; font-size:15.5px; min-height:46px; }
.aq { padding:8px 15px; font-size:14px; min-height:40px; }
.ev-chip { padding:19px 20px; min-height:92px; }
.ev-chip b { font-size:17px; }
.ev-chip span { font-size:15px; }

.cf-input { padding:16px 18px; font-size:18px; min-height:56px; }
.search-row input { padding:17px 20px 17px 51px; font-size:17.5px; min-height:58px; }
.ck-item { padding:19px 20px; min-height:68px; }
.ck-item input { width:26px; height:26px; }
.acc-q { padding:20px 21px; min-height:64px; }
.nav-link { padding:12px 16px; font-size:16.5px; min-height:46px; }
.sub-link { padding:14px 13px; min-height:64px; }
.sub-link b { font-size:17px; }
.sub-link span span { font-size:15px; }

.ai-fab { width:82px; height:82px; }
.ai-fab-t { font-size:12.5px; }
.ai-send { width:50px; height:50px; }
.ai-foot textarea { padding:14px 16px; font-size:16.5px; }
.ai-bubble { font-size:16.5px; }
.ac-clear { padding:6px 14px; font-size:14px; min-height:36px; }
.nav-toggle { padding:12px 14px; }

/* ---- 阅读舒适度：正文段落限宽、行距放松 ---- */
.about-p, .cr-text, .lc-text, .case-fields, .co-body { line-height:1.9; }
.a-desc, .ck-d, .cg-row p, .ev-item span, .disp-card p { line-height:1.8; }
.lc-text { font-size:17px; }

/* ---- 高亮块加粗边框，便于区分 ---- */
.callout { border-left-width:6px; padding:19px 21px; }
.key-row { border-left-width:6px; }
.stage-block { border-top-width:5px; }
.ch-group { border-left-width:6px; }
.ev-essential,.ev-important,.ev-auxiliary { border-top-width:5px; }
.lc-text { border-left-width:5px; }
.cr-text { border-left-width:5px; }
.co-result.co-ok,.co-result.co-warn,.co-result.co-danger { border-top-width:5px; }
.res-hero { border-top-width:6px; }

/* ---- 表格/对照类在窄屏更友好 ---- */
@media (max-width:860px) {
  .hero h1 { font-size:31px; }
  .pagehead h1 { font-size:27px; }
  .qz-q { font-size:23px; }
  .res-hero h2 { font-size:21px; }
  .hero-lead { font-size:18px; }
  .btn, .btn-lg { width:100%; }
  .hero-cta .btn, .cta-duo .btn { width:100%; }
  .ft-bottom-inner { flex-direction:column; gap:9px; }
}
