/* ============================================================
   UTSAV FOUNDATION — Design Tokens
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Source+Sans+3:wght@300;400;500;600;700&family=DM+Sans:wght@400;500;600&display=swap');

:root {
  /* ---- Color: Warm Earth Palette ---- */
  --terracotta:      #C4513A;
  --terracotta-dark: #A33E28;
  --terracotta-light:#D9735A;
  --cream:           #F5EFE6;
  --cream-dark:      #EDE4D4;
  --brown:           #2C1A14;
  --brown-mid:       #5C3D1E;
  --brown-light:     #8B6543;
  --gold:            #C9A453;
  --gold-dark:       #A8852E;
  --white:           #FFFFFF;
  --off-white:       #FDFBF8;

  /* Semantic tokens */
  --bg-primary:      var(--cream);
  --bg-alt:          var(--cream-dark);
  --bg-dark:         var(--brown);
  --bg-accent:       var(--terracotta);
  --text-primary:    var(--brown);
  --text-secondary:  var(--brown-mid);
  --text-muted:      #7A6658;
  --text-inverse:    var(--cream);
  --text-accent:     var(--terracotta);
  --cta-bg:          var(--terracotta);
  --cta-hover:       var(--terracotta-dark);
  --cta-text:        var(--white);
  --cta-secondary-bg:var(--gold);
  --cta-secondary-hover:var(--gold-dark);

  /* Borders */
  --border:          #D9CFC3;
  --border-dark:     #B5A694;

  /* ---- Typography ---- */
  --font-heading:    'Bitter', Georgia, serif;
  --font-body:       'Source Sans 3', 'Segoe UI', sans-serif;
  --font-ui:         'DM Sans', system-ui, sans-serif;

  /* Type scale */
  --text-xs:   0.75rem;    /* 12px */
  --text-sm:   0.875rem;   /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg:   1.125rem;   /* 18px */
  --text-xl:   1.25rem;    /* 20px */
  --text-2xl:  1.5rem;     /* 24px */
  --text-3xl:  1.875rem;   /* 30px */
  --text-4xl:  2.5rem;     /* 40px */
  --text-5xl:  3.25rem;    /* 52px */
  --text-6xl:  4rem;       /* 64px */

  /* Line heights */
  --leading-tight:  1.2;
  --leading-snug:   1.35;
  --leading-normal: 1.6;
  --leading-relaxed:1.75;

  /* ---- Spacing ---- */
  --space-1:   0.25rem;   /* 4px */
  --space-2:   0.5rem;    /* 8px */
  --space-3:   0.75rem;   /* 12px */
  --space-4:   1rem;      /* 16px */
  --space-5:   1.25rem;   /* 20px */
  --space-6:   1.5rem;    /* 24px */
  --space-8:   2rem;      /* 32px */
  --space-10:  2.5rem;    /* 40px */
  --space-12:  3rem;      /* 48px */
  --space-16:  4rem;      /* 64px */
  --space-20:  5rem;      /* 80px */
  --space-24:  6rem;      /* 96px */
  --space-32:  8rem;      /* 128px */

  /* ---- Borders ---- */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
  --radius-2xl: 24px;
  --radius-full: 9999px;

  /* ---- Shadows ---- */
  --shadow-sm:  0 1px 3px rgba(44,26,20,0.08), 0 1px 2px rgba(44,26,20,0.04);
  --shadow-md:  0 4px 12px rgba(44,26,20,0.10), 0 2px 4px rgba(44,26,20,0.06);
  --shadow-lg:  0 10px 30px rgba(44,26,20,0.12), 0 4px 8px rgba(44,26,20,0.08);
  --shadow-xl:  0 20px 50px rgba(44,26,20,0.15);

  /* ---- Transitions ---- */
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:cubic-bezier(0.45, 0, 0.55, 1);
  --duration-fast:  150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
  --duration-reveal:600ms;

  /* ---- Layout ---- */
  --container-sm:   640px;
  --container-md:   768px;
  --container-lg:   1024px;
  --container-xl:   1200px;
  --container-2xl:  1440px;
  --gutter:          1.5rem;
  --nav-height:      72px;

  /* ---- Z-Index ---- */
  --z-below:   -1;
  --z-base:     0;
  --z-raised:  10;
  --z-sticky: 100;
  --z-overlay:200;
  --z-modal:  300;
  --z-toast:  400;
}

/* ---- Responsive token overrides ---- */
@media (max-width: 768px) {
  :root {
    --gutter:      1rem;
    --nav-height:  64px;
    --text-4xl:    2rem;
    --text-5xl:    2.5rem;
    --text-6xl:    3rem;
  }
}
