@charset "UTF-8";
/* =============================================================================
   bd-tokens.css  ——  品牌设计令牌层（PC 端）
   -----------------------------------------------------------------------------
   来源：design-spec.md §2.6 / §3（字体、圆角、阴影、间距、容器、动效、层级）
   规范：本文件与 templates/metx5_mobile/images/css/bd-tokens.css 的 :root 块
         逐字相同，双端令牌值必须一致（本次交付的核心验收点之一）。
         校验方式：diff 两份文件，除文件头注释与末尾的「端私有桥接段」外应无差异。
   性质：只定义变量，不写任何选择器规则 —— 因此它不会改变任何现有布局。
   加载位置：必须在 main.min.css 之后（head.php:294 </noscript> 之后）。

   【令牌命名 · 最终定稿（design-spec.md v1.1 / team-lead 终审）】
   只有两层，不要再造第三套：
     · 数值阶梯 --bd-primary-50 … --bd-primary-900（取档位用，如 hover 深一档）
     · 语义层   --bd-action / --bd-action-hover / --bd-action-active /
                --bd-action-ink / --bd-decor / --bd-gold / --bd-gold-ink / --bd-on-gold
   已【不再暴露】裸别名 --bd-primary / --bd-primary-hover / --bd-primary-ink /
   --bd-primary-decor —— 它们容易被后来者误当成「主色 = 500」而写出 3.36:1
   的不合规组合。本文件及 bd-bridge/bd-components 中不得出现这四个名字。

   【防呆约束 · 必须遵守】
   1. 交互场景（按钮底、链接、价格、当前态、hover/focus）
      一律用 --bd-action(#cf3a56)；hover 用 --bd-action-hover(#ad2c45)；
      浅底上的主色文字用 --bd-action-ink(#ad2c45)。
   2. --bd-decor(#e85d75) 只允许出现在三处：Logo、纯装饰条（不承载文字）、
      ≥24px 的大标题。原因：#e85d75 对白底实测仅 3.36:1，不满足 WCAG AA 4.5:1。
   3. 金色：
      --bd-gold(#d4af37) 作底色时，文字必须是 --bd-on-gold(#1f1b1d)，禁止白字；
      白底上要用金色文字时，只能用 --bd-gold-ink(#8f7122)；
      --bd-secondary-600(#b8932a) 禁用。
   4. 渐变：凡 linear-gradient(135deg,#E85D75,#C84B60) 的按钮，亮端 #E85D75
      只有 3.36:1，必须【整条】换成 --bd-action → --bd-action-hover，
      只改暗端会留下一半不合规。
   ============================================================================= */

:root{
  /* ---------- 品牌主色 玫瑰粉 Rose（锚点 500 = #e85d75） ---------- */
  --bd-primary-50:#fdf2f4;  --bd-primary-100:#fce4e9; --bd-primary-200:#f9c8d2;
  --bd-primary-300:#f4a3b1; --bd-primary-400:#ee7288; --bd-primary-500:#e85d75;
  --bd-primary-600:#cf3a56; --bd-primary-700:#ad2c45; --bd-primary-800:#8a2337;
  --bd-primary-900:#6b1b2b;

  /* ---------- 辅助色 香槟金 Champagne（锚点 500 = #d4af37） ---------- */
  --bd-secondary-50:#fdf9ec;  --bd-secondary-100:#faf0d0; --bd-secondary-200:#f3e0a3;
  --bd-secondary-300:#eacd72; --bd-secondary-400:#dfba4d; --bd-secondary-500:#d4af37;
  --bd-secondary-600:#b8932a; --bd-secondary-700:#8f7122; --bd-secondary-800:#6b541c;
  --bd-secondary-900:#4a3914;

  /* ---------- 中性 暖调墨 Ink ---------- */
  --bd-ink-900:#1f1b1d; --bd-ink-800:#332d30; --bd-ink-700:#4a4245; --bd-ink-600:#6b6165;
  --bd-ink-500:#8a8085; --bd-ink-400:#b0a7ab; --bd-ink-300:#cec6c9; --bd-ink-200:#e3dcdf;
  --bd-ink-100:#f1edee; --bd-ink-50:#f8f6f6;

  /* ---------- 表面 Surface ---------- */
  --bd-surface-0:#ffffff; --bd-surface-1:#fbf9fa; --bd-surface-2:#f5f2f3;
  --bd-surface-3:#eee9eb; --bd-surface-inverse:#2b2427;

  /* ---------- 语义色 ---------- */
  --bd-success-500:#12855c; --bd-success-bg:#e6f4ee; --bd-success-text:#0f6b49;
  --bd-warning-500:#a16207; --bd-warning-bg:#fdf6e3; --bd-warning-text:#8a5205;
  --bd-danger-500:#b3122e;  --bd-danger-bg:#fdeaee;  --bd-danger-text:#a01529;
  --bd-info-500:#0f6ea8;    --bd-info-bg:#e8f4fb;    --bd-info-text:#0c5a8b;

  /* ---------- 交互语义别名（组件层唯一允许引用的一层） ---------- */
  --bd-action:var(--bd-primary-600);         /* #cf3a56 按钮底/链接/价格/当前态 */
  --bd-action-hover:var(--bd-primary-700);   /* #ad2c45 hover */
  --bd-action-active:var(--bd-primary-800);  /* #8a2337 active */
  --bd-action-ink:var(--bd-primary-700);     /* #ad2c45 浅底上的主色文字 */
  --bd-decor:var(--bd-primary-500);   /* #e85d75 仅装饰，禁止承载小字 */

  /* ---------- 金色语义别名 ---------- */
  --bd-gold:var(--bd-secondary-500);          /* #d4af37 装饰金 / 金底 */
  --bd-gold-ink:var(--bd-secondary-700);      /* #8f7122 白底上唯一可用的金色文字 */
  --bd-on-gold:var(--bd-ink-900);             /* #1f1b1d 金底唯一合法文字色 */

  /* ---------- 文字语义别名 ---------- */
  --bd-text:var(--bd-ink-800);                /* #332d30 正文 */
  --bd-text-strong:var(--bd-ink-900);         /* #1f1b1d 标题 */
  --bd-text-muted:var(--bd-ink-600);          /* #6b6165 次级 */
  --bd-text-placeholder:#7d7276;              /* 占位符（#999 仅 2.85:1，禁用） */
  --bd-border:var(--bd-ink-300);              /* #cec6c9 */
  --bd-border-light:var(--bd-ink-200);        /* #e3dcdf */
  --bd-bg-page:var(--bd-surface-1);           /* #fbf9fa */
  --bd-bg-card:var(--bd-surface-0);           /* #ffffff */

  /* ---------- 圆角 ---------- */
  --bd-radius-none:0; --bd-radius-sm:4px; --bd-radius-md:8px; --bd-radius-lg:12px;
  --bd-radius-xl:16px; --bd-radius-pill:999px;

  /* ---------- 阴影 ---------- */
  --bd-shadow-xs:0 1px 2px rgba(31,27,29,.06);
  --bd-shadow-sm:0 2px 8px rgba(31,27,29,.08);
  --bd-shadow-md:0 4px 16px rgba(31,27,29,.10);
  --bd-shadow-lg:0 8px 32px rgba(31,27,29,.12);
  --bd-shadow-gold:0 4px 16px rgba(212,175,55,.28);
  --bd-shadow-rose:0 6px 20px rgba(207,58,86,.24);
  --bd-shadow-focus:0 0 0 3px rgba(207,58,86,.30);

  /* ---------- 间距（4 基数） ---------- */
  --bd-space-1:4px;  --bd-space-2:8px;  --bd-space-3:12px; --bd-space-4:16px;
  --bd-space-5:24px; --bd-space-6:32px; --bd-space-7:48px; --bd-space-8:64px;
  --bd-space-9:96px;

  /* ---------- 容器 ---------- */
  --bd-container:1200px; --bd-container-wide:1280px; --bd-container-text:760px;
  --bd-gutter:24px; --bd-gutter-mobile:16px;

  /* ---------- 字体 ---------- */
  --bd-font-sans:system-ui,-apple-system,"PingFang SC","Hiragino Sans GB",
                 "Microsoft YaHei","Source Han Sans SC",sans-serif;
  --bd-font-num:"DIN Alternate","Helvetica Neue",Arial,system-ui,sans-serif;

  /* ---------- 字号阶梯（全站仅 3 档：14 / 18 / 28px） ---------- */
  --bd-fs-display:28px;     --bd-fs-h1:28px;      --bd-fs-h2:18px;
  --bd-fs-h3:18px;          --bd-fs-h4:18px;      --bd-fs-lead:18px;
  --bd-fs-body:14px;        --bd-fs-caption:14px; --bd-fs-small:14px;
  --bd-fs-micro:14px;

  /* ---------- 动效 ---------- */
  --bd-ease:cubic-bezier(.22,.61,.36,1);
  --bd-dur-fast:120ms; --bd-dur:200ms; --bd-dur-slow:320ms;

  /* ---------- 层级 ---------- */
  --bd-z-nav:100; --bd-z-dropdown:400; --bd-z-float:900; --bd-z-modal:1000;

  /* ---------- 无障碍：最小可点击尺寸 ---------- */
  --bd-tap-min:44px;
}

/* =============================================================================
   旧变量桥接层 —— 把站点既有的旧 CSS 变量指向新令牌
   -----------------------------------------------------------------------------
   目的：让「已经写了 var(--color-primary) 的存量规则」自动换成新品牌色，
        不必逐条改现有 CSS 正文（本次硬约束：现有 CSS 一个字都不改）。
   为什么带 !important：
     PC 端 main.min.css 是 preload 异步转 stylesheet 加载的，若它晚于本文件完成
     加载，其 :root 声明会反过来压掉这里的赋值。给自定义属性加 !important 可让
     结果不依赖网络到达顺序，是确定性的。（双端统一加，保持两份文件一致。）
   注意：这里只改「色值语义」，不改任何变量名，因此不会破坏任何选择器。
   ============================================================================= */
:root{
  /* --- 旧 --color-* 族（metinfo.css:3-16 定义，橙色系，已废弃语义） --- */
  --color-primary:var(--bd-action) !important;              /* 原 #e68a00 橙 */
  --color-primary-hover:var(--bd-action-hover) !important;  /* 原 #ff9900 橙 */
  --color-primary-dark:var(--bd-action-active) !important;  /* 原 #cc7a00 深橙 */
  --color-accent:var(--bd-danger-500) !important;            /* 原 #e9280c 促销红 */
  --color-accent-hover:var(--bd-danger-text) !important;     /* 原 #ff4d3a */
  --color-success:var(--bd-success-500) !important;          /* 原 #10b981 */
  --color-warning:var(--bd-warning-500) !important;          /* 原 #f59e0b */
  --color-danger:var(--bd-danger-500) !important;            /* 原 #ef4444 */
  --color-info:var(--bd-info-500) !important;                /* 原 #3b82f6 */
  --color-text-primary:var(--bd-text) !important;            /* 原 #3e3e3e */
  --color-text-secondary:var(--bd-text-muted) !important;    /* 原 #818181 */
  --color-text-muted:var(--bd-text-placeholder) !important;  /* 原 #999，仅 2.85:1 */
}

/* =============================================================================
   PC 端私有桥接 1：--brand-* 族（main.min.css:672-679 定义，仅 PC 有）
   -----------------------------------------------------------------------------
   --brand-primary 在 main.min.css 里被引用 15 次、--brand-accent 5 次，
   是 PC 端橙色视觉的主要承载变量。把它整体指向玫红令牌，等于让存量规则
   一次性换色，而不必逐条写覆盖选择器。
   渐变安全性：main.min.css 里大量使用
     linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-light) 100%)
   且其上压白字。若只换亮端不换暗端，会出现「一半达标一半不达标」。
   因此这里把 light/dark 两端都压到白字达标区（600/700/800），
   渐变结果即 #cf3a56 → #ad2c45，两端对白字均 ≥ 4.78:1。
   ============================================================================= */
:root{
  --brand-primary:var(--bd-action) !important;              /* 原 #d98200 → #cf3a56 */
  --brand-primary-light:var(--bd-action-hover) !important;  /* 原 #ff9900 → #ad2c45 */
  --brand-primary-dark:var(--bd-action-active) !important;  /* 原 #b36b00 → #8a2337 */
  --brand-accent:var(--bd-danger-500) !important;            /* 原 #c41f0a → #b3122e */
  --brand-accent-light:var(--bd-danger-500) !important;      /* 原 #e9280c → #b3122e */
  --brand-accent-dark:var(--bd-danger-text) !important;      /* 原 #a01a08 → #a01529 */
  --brand-gold:var(--bd-gold) !important;                    /* 原 #D4AF37，值不变 */
  --brand-rose:var(--bd-decor) !important;           /* 原 #E85D75，值不变 */
}

/* =============================================================================
   PC 端私有桥接 2：--bs-* 族（critical.css:2 定义，Bootstrap 5.3 变量）
   -----------------------------------------------------------------------------
   只动「有实际引用」且承载品牌语义的 3 个：
     --bs-primary        （定义存在，当前 0 处 var() 引用，但第三方/后续可能引用，一并收口）
     --bs-link-color / --bs-link-hover-color （各 1 处引用）
   其余 --bs-*（栅格 gutter、按钮 padding、圆角等）是布局量，一律不动。
   ============================================================================= */
:root{
  --bs-primary:var(--bd-action) !important;                 /* 原 #d98200 */
  --bs-link-color:var(--bd-text) !important;                 /* 原 #3e3e3e */
  --bs-link-hover-color:var(--bd-action-ink) !important;    /* 原 #b36b00 → #ad2c45 */
}

/* =============================================================================
   PC 端私有桥接 3：补齐 --flm-*（移动端私有命名）
   -----------------------------------------------------------------------------
   PC 端原本没有 --flm-*。补齐的唯一目的：让 bd-bridge/bd-components 双端可以
   共用同一份规则文本，避免两份组件 CSS 因命名空间不一致而分叉。
   按 design-spec.md §8.6 的对照表对齐，不改变移动端既有取值语义。
   ============================================================================= */
:root{
  --flm-primary:var(--bd-decor);
  --flm-primary-hover:var(--bd-action-hover);
  --flm-primary-light:var(--bd-primary-300);
  --flm-secondary:var(--bd-primary-50);
  --flm-gold:var(--bd-gold);
  --flm-gold-hover:var(--bd-secondary-600);
  --flm-text-primary:var(--bd-text-strong);
  --flm-text-secondary:var(--bd-text-muted);
  --flm-text-muted:var(--bd-text-placeholder);
  --flm-white:var(--bd-surface-0);
  --flm-border:var(--bd-border-light);
  --flm-border-light:var(--bd-ink-100);
  --flm-bg:var(--bd-surface-0);
  --flm-bg-light:var(--bd-surface-1);
  --flm-neutral:var(--bd-surface-2);
  --flm-radius:var(--bd-radius-lg);
  --flm-radius-sm:var(--bd-radius-md);
  --flm-radius-lg:var(--bd-radius-xl);
  --flm-radius-full:50%;
  --flm-shadow:var(--bd-shadow-sm);
  --flm-shadow-sm:var(--bd-shadow-xs);
  --flm-shadow-lg:var(--bd-shadow-md);
  --flm-transition:all .3s ease;
  --flm-transition-fast:all .15s ease;
  --flm-font-family:var(--bd-font-sans);
}

/* =============================================================================
   全站字号收口（2026-11-03）—— 仅保留 3 档：14 / 18 / 28px
   -----------------------------------------------------------------------------
   14px：正文、辅助说明、表格、表单、按钮、面包屑
   18px：栏目标题、卡片标题、导航强调、价格
   28px：页面主标题（h1）、Banner 大标题、模块标题
   说明：0 字号（隐藏文本）、100%（继承）、3px/6px（国旗装饰星）不在此列，
        它们不是可读文本字号，属于布局/装饰用途。
   ============================================================================= */
:root{
  --bs-body-font-size:14px !important;
  --bs-btn-font-size:14px !important;
  --bs-h1-font-size:28px !important; --bs-h2-font-size:18px !important;
  --bs-h3-font-size:18px !important; --bs-h4-font-size:18px !important;
  --bs-h5-font-size:14px !important; --bs-h6-font-size:14px !important;
  /* main.min.css:682-687 的旧标题变量（渲染时优先级高于 --bs-h*-font-size） */
  --font-size-h1:28px !important;
  --font-size-h2:18px !important;
  --font-size-h3:18px !important;
  --font-size-h4:18px !important;
  --font-size-h5:14px !important;
  --font-size-h6:14px !important;
}
html,body{font-size:14px !important}
h1,.h1{font-size:28px !important}
/* critical.css 的 h2-h6 用 calc(rem + vw) 计算字号（1200px 视口下约 30px），
   main.min.css 是 preload 异步转样式表，未落地前首屏会先按 calc 值渲染再跳回
   18px。这里用「同特异性、后置」的普通声明先钉死，避免首屏字号抖动；
   带类名的标题（如 .banner-title 28px）特异性更高，不受影响。 */
h2,.h2,h3,.h3,h4,.h4{font-size:18px}
h5,.h5,h6,.h6{font-size:14px}
