/* ============================================================
 * 劳勿金 RAUB KING — Design Tokens (VI V1.0)
 *
 * 调性 / Vibe: 朴素奢华 (Quiet Luxury) + 植物学美学 (Botanical)
 *              Aesop / Kinfolk / 法国酒庄 (French winery)
 *
 * Source of truth:
 *   - lk-miniapp/miniprogram/app.wxss   (mini-program tokens, implemented)
 *   - lk-admin-web/src/styles/brand.less (admin tokens)
 *   - docs/01-adr/ADR-019-manor-design-system.md
 *
 * 禁用 / Forbidden: 亮黄 / 橙 / 纯黑 #000 (用 #1F3A2A 替代) /
 *                   紫粉渐变 / 亮金 #FFD700 / 大红 #FF0000 / 零售促销红
 * ============================================================ */

:root {
  /* ===== Color — Primary (森林绿 Forest Green, 25–35% of surface) ===== */
  /* V1.1 — 提亮:由偏黑的 #1F3A2A 改为更清爽通透的森林绿(少黑、多绿) */
  --c-primary:        #2E6347;   /* 森林绿 — 主品牌 / 主标题 / CTA */
  --c-primary-strong: #234C37;   /* 按下态 / pressed */
  --c-primary-soft:   #5B8C70;   /* 副绿 / 草本绿 — 次级按钮 / 标签 (更通透) */

  /* ===== Color — Accent (哑光金 Matte Gold, ≤5%, 克制 restrained) ===== */
  --c-accent:         #A8884F;   /* 哑光金 — 徽章 / 烫金 / 价格 */
  --c-accent-soft:    #D9C58A;   /* 浅金 — 高亮背景 / 暗底正文强调 */

  --c-bark:           #5C4A2E;   /* 木质棕 — 辅文 / 分隔 (~10%) */

  /* ===== Color — Surfaces ===== */
  --c-bg:             #F5F1E8;   /* 奶油白 — 主背景 (50%, 替代纯白) */
  --c-bg-elev:        #FFFFFF;   /* 卡 / 浮层 elevated surface */
  --c-bg-deep:        #EAE3D2;   /* 二级区块 sunken */

  /* ===== Color — Text ===== */
  --c-text:           #1A2520;   /* 主文 (深绿系替代纯黑) */
  --c-text-soft:      #5C4A2E;   /* 副文 (木质棕) */
  --c-text-muted:     #8A8275;   /* 三级 / 占位 placeholder */
  --c-text-on-dark:   #F5F1E8;   /* 暗背景文字 */

  --c-line:           #E5DCC8;   /* 分隔 / 描边 hairline */

  /* ===== Color — Status (色彩独立, 不只靠金/红区分) ===== */
  --c-warn:           #A93226;   /* 朱砂红 — 警示 / 库存预警 (限用) */
  --c-success:        #3E7A4D;   /* 完成绿 — 已签收 / 已认养 */
  --c-info:           #2F5743;

  /* ===== Typography — Families ===== */
  /* 中文标题: 思源宋体 (Source Han Serif = Noto Serif SC)
   * 中文正文: 思源黑体 / 苹方 (PingFang SC)
   * 英文品牌/装饰: EB Garamond (italic)
   * 数字/价格: Playfair Display (tnum) */
  --ff-serif:    "Source Han Serif SC", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --ff-body:     "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --ff-en-serif: "EB Garamond", Garamond, "Cormorant Garamond", serif;
  --ff-num:      "Playfair Display", "EB Garamond", "DIN Alternate", -apple-system, system-ui, sans-serif;

  /* ===== Typography — Scale (px; mini-program原值 rpx = px×2) ===== */
  --fs-12: 12px;  --fs-13: 13px;  --fs-14: 14px;
  --fs-16: 16px;  --fs-18: 18px;  --fs-22: 22px;
  --fs-28: 28px;  --fs-40: 40px;

  --lh-tight: 1.2;
  --lh-base:  1.5;
  --lh-loose: 1.7;

  /* ===== Spacing (8-pt rhythm; rpx/2) ===== */
  --sp-1: 4px;   --sp-2: 8px;   --sp-3: 12px;  --sp-4: 16px;
  --sp-6: 24px;  --sp-8: 32px;  --sp-12: 48px; --sp-16: 64px;

  /* ===== Radius ===== */
  --r-xs:   4px;
  --r-sm:   8px;
  --r-md:   12px;
  --r-lg:   20px;
  --r-pill: 999px;

  /* ===== Shadow (色调随主色染绿; warm green-tinted) ===== */
  --shadow-card: 0 2px 10px rgba(31, 58, 42, 0.06);
  --shadow-elev: 0 4px 20px rgba(31, 58, 42, 0.12);
  --shadow-hero: 0 8px 32px rgba(31, 58, 42, 0.18);

  /* ===== Motion ===== */
  --easing:  cubic-bezier(.2, .8, .2, 1);
  --d-quick: 200ms;
  --d-base:  300ms;
  --d-hero:  600ms;
}

/* ============================================================
 * Semantic type roles — apply directly to elements
 * ============================================================ */
.h-display {
  font-family: var(--ff-serif); font-size: var(--fs-40);
  line-height: var(--lh-tight); color: var(--c-primary); font-weight: 600;
  letter-spacing: 0.02em;
}
.h1 { font-family: var(--ff-serif); font-size: var(--fs-28); line-height: var(--lh-tight); color: var(--c-text); font-weight: 600; }
.h2 { font-family: var(--ff-serif); font-size: var(--fs-22); line-height: var(--lh-tight); color: var(--c-text); font-weight: 600; }
.h3 { font-size: var(--fs-18); line-height: var(--lh-tight); color: var(--c-text); font-weight: 600; }

.body      { font-family: var(--ff-body); font-size: var(--fs-14); color: var(--c-text); line-height: var(--lh-base); }
.body-loose{ font-family: var(--ff-body); font-size: var(--fs-16); color: var(--c-text); line-height: var(--lh-loose); }
.body-soft { font-size: var(--fs-14); color: var(--c-text-soft); }
.caption   { font-size: var(--fs-12); color: var(--c-text-muted); }
.num       { font-family: var(--ff-num); font-feature-settings: "tnum"; }

/* English decorative / brand signature lockup */
.en-serif  { font-family: var(--ff-en-serif); font-style: italic; letter-spacing: 0.12em; }

.text-primary { color: var(--c-primary); }
.text-accent  { color: var(--c-accent); }
.text-soft    { color: var(--c-text-soft); }
.text-muted   { color: var(--c-text-muted); }
.text-on-dark { color: var(--c-text-on-dark); }
.text-warn    { color: var(--c-warn); }
.text-success { color: var(--c-success); }
