/* ============================================================================
 * The Elder Dignity Project — Design Tokens
 * See docs/DESIGN_STANDARDS.md §3, §4, §5, §6, §13
 * ============================================================================ */

:root {
  /* ---- Palette ---- */
  --edp-ink-900:  #0F1A2A;
  --edp-ink-800:  #1B2A41;
  --edp-ink-700:  #2B3E5A;
  --edp-ink-600:  #425A7D;
  --edp-ink-500:  #6B7F9C;

  --edp-sage-900: #2F4238;
  --edp-sage-800: #415A4C;
  --edp-sage-700: #5C7A6B;
  --edp-sage-500: #8FA89A;
  --edp-sage-200: #D7E1D9;

  --edp-gold-800: #7C5A2E;
  --edp-gold-700: #A67A3F;
  --edp-gold-600: #B8864F;
  --edp-gold-400: #D7B47F;
  --edp-gold-100: #F4E9D3;

  --edp-cream:     #FAF6F0;
  --edp-bone:      #F0E9DC;
  --edp-parchment: #E8DFCD;

  --edp-warm-100: #E4DDCE;
  --edp-warm-300: #C9BFAA;
  --edp-warm-500: #8A8274;
  --edp-warm-700: #5A544A;

  --edp-alert:      #B23A3A;
  --edp-alert-bg:   #F8E3E3;
  --edp-info:       #2B5A7D;
  --edp-info-bg:    #E3EEF5;
  --edp-success:    #3F6B4E;
  --edp-success-bg: #E0EBE3;

  /* ---- Semantic aliases ---- */
  --edp-color-bg:             var(--edp-cream);
  --edp-color-bg-alt:         var(--edp-bone);
  --edp-color-bg-callout:     var(--edp-parchment);
  --edp-color-text:           var(--edp-ink-900);
  --edp-color-text-muted:     var(--edp-warm-700);
  --edp-color-text-caption:   var(--edp-warm-500);
  --edp-color-heading:        var(--edp-ink-800);
  --edp-color-link:           var(--edp-ink-700);
  --edp-color-link-hover:     var(--edp-gold-700);
  --edp-color-border:         var(--edp-warm-300);
  --edp-color-border-subtle:  var(--edp-warm-100);
  --edp-color-primary:        var(--edp-ink-700);
  --edp-color-primary-hover:  var(--edp-ink-800);
  --edp-color-accent:         var(--edp-gold-600);
  --edp-color-accent-hover:   var(--edp-gold-700);
  --edp-color-nav-bg:         var(--edp-cream);
  --edp-color-footer-bg:      var(--edp-ink-800);
  --edp-color-footer-text:    var(--edp-cream);
  --edp-color-footer-muted:   var(--edp-ink-500);

  /* ---- Typography ---- */
  --edp-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --edp-font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;

  --edp-text-xs:    0.75rem;
  --edp-text-sm:    0.875rem;
  --edp-text-base:  1rem;
  --edp-text-lg:    1.125rem;
  --edp-text-xl:    1.375rem;
  --edp-text-2xl:   1.75rem;
  --edp-text-3xl:   2.25rem;
  --edp-text-4xl:   3rem;
  --edp-text-5xl:   3.75rem;

  /* ---- Spacing ---- */
  --edp-space-1:  0.25rem;
  --edp-space-2:  0.5rem;
  --edp-space-3:  0.75rem;
  --edp-space-4:  1rem;
  --edp-space-5:  1.5rem;
  --edp-space-6:  2rem;
  --edp-space-7:  3rem;
  --edp-space-8:  4.5rem;
  --edp-space-9:  6rem;
  --edp-space-10: 8rem;

  /* ---- Layout ---- */
  --edp-container-max:    1200px;
  --edp-container-gutter: 1rem;
  --edp-prose-max:        72ch;

  /* ---- Motion ---- */
  --edp-duration-fast: 100ms;
  --edp-duration-base: 150ms;
  --edp-duration-slow: 250ms;
  --edp-ease:          cubic-bezier(0.4, 0, 0.2, 1);

  /* ---- Radius ---- */
  --edp-radius-sm: 4px;
  --edp-radius-md: 6px;
  --edp-radius-lg: 8px;
}

@media (min-width: 768px)  { :root { --edp-container-gutter: 1.5rem; } }
@media (min-width: 1024px) { :root { --edp-container-gutter: 2rem;   } }

/* Reduced motion — Design Standards §13.2 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Forced contrast — Design Standards §12.2 */
@media (prefers-contrast: more) {
  :root {
    --edp-color-border:       var(--edp-ink-900);
    --edp-color-text-muted:   var(--edp-ink-900);
    --edp-color-border-subtle: var(--edp-ink-700);
  }
}
