/* ==========================================================================
   BAAN TON MAI — Design Tokens
   All CSS custom properties for the jungle cafe design system.
   ========================================================================== */

:root {
  /* ---- Colors ---- */
  --color-primary: #1B4332;
  --color-primary-light: #2D6A4F;
  --color-secondary: #C13A14;
  --color-secondary-light: #D4553A;
  --color-bg: #F5F1EB;
  --color-bg-alt: #E8E0D4;
  --color-surface: #FFFFFF;
  --color-text: #2C2C2C;
  --color-text-light: #6B6B6B;
  --color-gold: #B8860B;
  --color-overlay: rgba(27, 67, 50, 0.6);

  /* ---- Typography ---- */
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Inter', 'Noto Sans Thai', system-ui, sans-serif;
  --font-thai: 'Noto Sans Thai', 'Inter', sans-serif;

  /* ---- Type Scale (mobile-first, 1.25 ratio) ---- */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.563rem;
  --text-3xl: 1.953rem;
  --text-4xl: 2.441rem;
  --text-5xl: 3.052rem;

  /* ---- Spacing ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;

  /* ---- Layout ---- */
  --container-max: 1200px;
  --container-narrow: 800px;
  --border-radius: 0.75rem;
  --border-radius-lg: 1.5rem;

  /* ---- Shadows ---- */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 24px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 40px rgba(0, 0, 0, 0.12);

  /* ---- Transitions ---- */
  --transition-fast: 150ms ease;
  --transition-base: 300ms ease;
  --transition-slow: 500ms ease;

  /* ---- Extended Palette ---- */
  --color-primary-dark: #0D2818;
  --color-primary-50: #E8F5E9;
  --color-gold-light: #DAA520;
  --color-gold-dark: #8B6914;
  --color-cream-dark: #D4C5B0;

  /* ---- Gradients ---- */
  --gradient-hero: radial-gradient(ellipse at center, rgba(27,67,50,0.3) 0%, rgba(13,40,24,0.8) 100%);
  --gradient-gold: linear-gradient(135deg, #B8860B 0%, #DAA520 50%, #B8860B 100%);
  --gradient-footer: linear-gradient(180deg, #1B4332 0%, #0D2818 100%);
  --gradient-surface: linear-gradient(180deg, #FFFFFF 0%, #F5F1EB 100%);
  --gradient-overlay: linear-gradient(180deg, rgba(13,40,24,0.2) 0%, rgba(13,40,24,0.7) 50%, rgba(13,40,24,0.9) 100%);

  /* ---- Extended Type Scale ---- */
  --text-6xl: 3.815rem;
  --text-7xl: 4.768rem;

  /* ---- Letter Spacing ---- */
  --tracking-tight: -0.02em;
  --tracking-normal: 0;
  --tracking-wide: 0.05em;
  --tracking-wider: 0.1em;
  --tracking-widest: 0.2em;

  /* ---- Premium Shadows ---- */
  --shadow-xs: 0 1px 3px rgba(0,0,0,0.04);
  --shadow-xl: 0 12px 48px rgba(0,0,0,0.15);
  --shadow-2xl: 0 20px 60px rgba(0,0,0,0.2);
  --shadow-inner: inset 0 2px 6px rgba(0,0,0,0.06);
  --shadow-glow-gold: 0 0 20px rgba(184,134,11,0.3);

  /* ---- Premium Easing ---- */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ---- Animation Durations ---- */
  --duration-entrance: 800ms;
  --duration-stagger: 100ms;
}

/* Scaled-up type for larger viewports */
@media (min-width: 768px) {
  :root {
    --text-2xl: 1.777rem;
    --text-3xl: 2.369rem;
    --text-4xl: 3.157rem;
    --text-5xl: 4.209rem;
    --text-6xl: 5rem;
    --text-7xl: 6.5rem;
  }
}
