/* ============================================================================
 * templates/restaurant/design-tokens.css
 *
 * 業態:           restaurant (汎用飲食店: カレー/ラーメン/焼肉/中華/ハラル麺/ピザ/和牛重 等)
 * 配色トーン:     light / earth tone (cream + warm brown)
 * Based on:       templates/cafe/design-tokens.css (161 行) を値据え置きで踏襲
 *                 (cream + warm brown は食事系業態に汎用的に適合)
 * Created:        2026-06-16
 * Template ver:   restaurant v1.0 (restaurant テンプレ、schema-template.json と整合)
 *
 * 構成:
 *   §1 配色         HEX フォールバック + @supports OKLCH 上書き
 *   §2 タイポグラフィスケール (modular scale 1.25、R-001)
 *   §3 8pt グリッド スペーシング (R-002)
 *   §4 行間 (R-003)
 *   §5 フォントファミリー
 *   §6 イージング・トランジション (R-024)
 *   §7 V6 由来補助変数 (枠のみ)
 *   §8 OS アニメ削減対応 (WCAG 2.3.3)
 *
 * 変数命名規則:
 *   templates/cafe / winebar と完全一致 (--bg / --text / --accent / --serif /
 *   --sans / --mono 等)。HTML 互換維持のため変数名のリネーム禁止。
 *   本ファイルは cafe トークンの値据え置き版 (業態中立な earth tone)。
 *   業態別 OKLCH 抽出での上書きは案件側で実施する想定。
 * ============================================================================ */


/* §1 配色 ─────────────────────────────────────────────────────────────────── */

:root {
  /* HEX フォールバック (earth tone、全ブラウザ対応) */
  --bg:        #F8F5EE;  /* cream (背景主色、L 0.96、純白回避 R-018) */
  --bg-alt:    #EFEAE0;  /* cream darker (セクション交互背景) */
  --accent:    #6B4423;  /* warm brown (60-30-10 の 10、彩度 0.08、R-016) */
  --text:      #2E2419;  /* dark brown (本文、L 0.22、純黒回避 R-018) */

  /* V6 由来補助色 (§7 参照、HEX のみ提供) */
  --accent-2:  #C9985D;  /* caramel (副アクセント、category 区切り用) */
  --text-sub:  #5C4B3D;  /* medium brown (補助テキスト・キャプション) */
  --line:      #D9CFC0;  /* 区切り線 (0.5px 線、border-bottom) */
}

@supports (color: oklch(0 0 0)) {
  :root {
    /* OKLCH 上書き (Safari 15.4+ / Chrome 111+ / Firefox 113+)
       cafe トークン (color-and-contrast.md §11.2 由来) と同値。 */
    --bg:     oklch(0.96 0.008 80);
    --accent: oklch(0.40 0.08 50);
    --bg-alt: oklch(0.938 0.014 84.58);   /* #EFEAE0 */
    --text:   oklch(0.268 0.024 69.16);   /* #2E2419 */
    --accent-2: oklch(0.713 0.096 70.41); /* #C9985D */
    --text-sub: oklch(0.426 0.032 61.27); /* #5C4B3D */
    --line:   oklch(0.858 0.023 78.20);   /* #D9CFC0 */
  }
}


/* §2 タイポグラフィスケール ──────────────────────────────────────────────── */

:root {
  /* Modular Scale 1.25 (base 16px、R-001) */
  --fs-xs:   13px;
  --fs-sm:   16px;
  --fs-base: 17px;  /* 日本語本文推奨 */
  --fs-md:   20px;
  --fs-lg:   25px;
  --fs-xl:   31px;
  --fs-2xl:  39px;
  --fs-3xl:  49px;
}


/* §3 8pt グリッド スペーシング ────────────────────────────────────────────── */

:root {
  /* 8pt Grid (R-002) */
  --sp-1:   8px;
  --sp-2:  16px;
  --sp-3:  24px;
  --sp-4:  32px;
  --sp-6:  48px;
  --sp-8:  64px;
  --sp-12: 96px;
  --sp-16: 128px;
}


/* §4 行間 ─────────────────────────────────────────────────────────────────── */

:root {
  /* Line Heights (R-003) */
  --lh-tight: 1.3;
  --lh-body:  1.7;
  --lh-loose: 1.85;
}


/* §5 フォントファミリー ───────────────────────────────────────────────────── */

:root {
  /* cafe / winebar と同値 (reflex_fonts_to_reject 非該当を確認済み) */
  --serif: 'Shippori Mincho', 'Noto Serif JP', serif;
  --sans:  'Noto Sans JP', sans-serif;
  --mono:  'JetBrains Mono', monospace;
}


/* §6 イージング・トランジション ───────────────────────────────────────────── */

:root {
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --tr-fast: 150ms var(--ease-out-expo);
  --tr-base: 250ms var(--ease-out-expo);
  --tr-slow: 400ms var(--ease-out-expo);
}


/* §7 V6 由来補助変数 (枠のみ) ───────────────────────────────────────────── */

:root {
  /* 将来 --container-max 等を追加する場合は本ブロックに記載 */
}


/* §8 OS アニメ削減対応 (WCAG 2.3.3) ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  :root {
    --tr-fast: 0ms;
    --tr-base: 0ms;
    --tr-slow: 0ms;
  }
}
