/* Grand J Ballet Academy — Color tokens
   Extracted from the academy's existing notice/timetable/profile materials. */
:root {
  /* ── Base: ivory / cream */
  --cream-50: #F7F5F0;   /* lightest ivory (notice body) */
  --cream-100: #F3F0E9;  /* default page background */
  --cream-200: #EDE9DF;  /* deeper cream (timetable bg) */

  /* ── Warm gray ramp (text + structure) */
  --warm-gray-100: #E9E7E2; /* subtle band / table header bg */
  --warm-gray-200: #D9D6CE; /* hairlines on cream */
  --warm-gray-300: #C6C2B6; /* taupe band (pricing header) */
  --warm-gray-400: #A8A49B; /* muted labels */
  --warm-gray-500: #8A867E; /* secondary text */
  --warm-gray-600: #6E6A64; /* pill/band gray */
  --warm-gray-700: #5B5852; /* headline warm gray */
  --warm-gray-800: #444139; /* strong text */
  --ink: #2E2C28;           /* near-black warm ink */

  /* ── Cool grays (photo-led covers) */
  --cool-gray-100: #EFEFEF;
  --cool-gray-300: #D4D4D6;
  --cool-gray-500: #8D8D90;
  --cool-gray-700: #6B6B6E;

  /* ── Soft pink */
  --pink-50: #F6EAE8;   /* profile page background */
  --pink-100: #EFDCD9;  /* soft pink block */
  --pink-200: #E3C6C3;  /* pill / badge pink */
  --pink-300: #D3A9A6;  /* deeper accent pink */

  /* ── Navy (formal notices) */
  --navy-800: #14283F;
  --navy-900: #0E1E31;

  /* ── Emphasis (rules & deadlines highlight)
     #E14B2E: blocks/badges & text ≥24px only (3.52:1 on cream)
     #C23A20: small inline emphasis <24px (4.71:1 on cream — AA) */
  --accent-red: #E14B2E;
  --accent-red-text: #C23A20;

  /* ── Timetable pastels (class color coding) */
  --pastel-yellow: #FFD972;  /* 유아발레 */
  --pastel-coral: #FF8A6B;   /* 초등발레 */
  --pastel-mint: #ACDCD6;    /* 전공반 */
  --pastel-lavender: #C9CCF2;/* 성인발레 */
  --pastel-pink: #F291C4;    /* 개인/듀엣 레슨 */
  --pastel-peach: #FFCBB0;   /* 개인레슨 보조 */
  --pastel-lilac: #C9A8D4;   /* 유아·초등 안내 헤더 */

  /* ── Overlay (photo covers) */
  --overlay-dark: rgba(30, 30, 32, 0.45);
  --overlay-band: rgba(200, 198, 192, 0.55);

  /* ── Semantic aliases */
  --surface-page: var(--cream-100);
  --surface-card: #FFFFFF;
  --surface-band: var(--warm-gray-100);
  --surface-pink: var(--pink-50);
  --surface-navy: var(--navy-800);

  --text-display: var(--warm-gray-700);
  --text-body: var(--warm-gray-800);
  --text-secondary: var(--warm-gray-600); /* 4.72:1 on cream-100 — AA; warm-gray-500 only ≥19px */
  --text-muted: var(--warm-gray-400);     /* decorative/large only (2.18:1) — never body text */
  --text-on-dark: #FFFFFF;
  --text-emphasis: var(--accent-red-text);

  --border-hairline: var(--warm-gray-200);
  --border-strong: var(--warm-gray-700);
}
