/* ==============================================
   Nice! Maternity Photo Reservation System
   CSS Custom Properties (Design Tokens)
   ここの値を変更するだけで全体のデザインが変わります
   ============================================== */

:root {
  /* ─── Brand Colors ─────────────────────────── */
  --color-accent:         #ea9185;   /* コーラルピンク (Nice! ブランドカラー) */
  --color-accent-light:   #f5c8c3;   /* アクセントの薄い版 */
  --color-accent-dark:    #d4706a;   /* アクセントの濃い版 */

  /* ─── Base / Background ────────────────────── */
  --color-bg:             #ffffff;   /* ページ背景 (白) */
  --color-bg-secondary:   #f8f6f5;   /* セカンダリ背景 (オフホワイト) */
  --color-bg-tertiary:    #f0eded;   /* 第3背景 (ライトグレー) */
  --color-sidebar:        #2c2c2c;   /* サイドバー背景 (ダーク) */
  --color-sidebar-light:  #3a3a3a;   /* サイドバーホバー */

  /* ─── Text Colors ──────────────────────────── */
  --color-text-primary:   #333333;   /* メインテキスト */
  --color-text-secondary: #666666;   /* サブテキスト */
  --color-text-muted:     #999999;   /* 補助テキスト */
  --color-text-on-dark:   #ffffff;   /* ダーク背景上のテキスト */
  --color-text-on-accent: #ffffff;   /* アクセント色上のテキスト */

  /* ─── Border & Divider ─────────────────────── */
  --color-border:         #e8e4e3;   /* 通常ボーダー */
  --color-border-strong:  #cccccc;   /* 強調ボーダー */

  /* ─── Status Colors ────────────────────────── */
  --color-success:        #7ab69a;   /* 成功 (グリーン) */
  --color-warning:        #e6b86a;   /* 警告 (イエロー) */
  --color-danger:         #e07070;   /* エラー (レッド) */
  --color-info:           #7aabcd;   /* 情報 (ブルー) */

  --color-success-bg:     #eef6f2;
  --color-warning-bg:     #fdf6e9;
  --color-danger-bg:      #fdf0f0;
  --color-info-bg:        #edf4f9;

  /* ─── Typography ───────────────────────────── */
  --font-heading:         'Jost', 'Zen Kaku Gothic New', sans-serif;
  --font-body:            'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
  --font-mono:            'Courier New', monospace;

  --font-size-xs:         0.75rem;   /* 12px */
  --font-size-sm:         0.875rem;  /* 14px */
  --font-size-base:       1rem;      /* 16px */
  --font-size-md:         1.125rem;  /* 18px */
  --font-size-lg:         1.25rem;   /* 20px */
  --font-size-xl:         1.5rem;    /* 24px */
  --font-size-2xl:        2rem;      /* 32px */
  --font-size-3xl:        2.5rem;    /* 40px */

  --font-weight-light:    300;
  --font-weight-regular:  400;
  --font-weight-medium:   500;
  --font-weight-semibold: 600;
  --font-weight-bold:     700;

  /* ─── Spacing ──────────────────────────────── */
  --space-xs:   4px;
  --space-sm:   8px;
  --space-md:   16px;
  --space-lg:   24px;
  --space-xl:   32px;
  --space-2xl:  48px;
  --space-3xl:  64px;

  /* ─── Border Radius ────────────────────────── */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
  --radius-full: 9999px;

  /* ─── Shadows ──────────────────────────────── */
  --shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md:  0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg:  0 8px 24px rgba(0, 0, 0, 0.10);
  --shadow-xl:  0 16px 40px rgba(0, 0, 0, 0.12);

  /* ─── Transitions ──────────────────────────── */
  --transition-fast:   150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow:   400ms ease;

  /* ─── Layout ───────────────────────────────── */
  --sidebar-width:      240px;
  --header-height:      60px;
  --content-max-width:  1200px;
}
