/* ==========================================================================
   Design Tokens
   --------------------------------------------------------------------------
   The single source of truth for colors, type, spacing, and motion.
   To re-skin for another client, override these values in a separate
   stylesheet loaded after this one — no component code needs to change.
   ========================================================================== */

:root {
    /* ----- Color palette -----
       Aesthetic: warm tortilla cream paper, deep espresso ink, salsa
       red-orange accent, avocado green. Not corporate. Hand-made energy. */

    --color-paper:      #FAF0DA;   /* warm cream, page background */
    --color-paper-2:    #F0EADC;   /* slightly darker, layered surfaces */
    --color-ink:        #261812;   /* deep brown, primary text */
    --color-ink-soft:   #4A3328;
    --color-muted:      #826E5C;   /* secondary text */

    --color-salsa:      #DC4B23;   /* primary accent, CTAs */
    --color-salsa-deep: #B43A18;   /* hover state */
    --color-avocado:    #5A823C;   /* secondary accent, success states */
    --color-butter:     #F4C866;   /* tertiary accent, badges */

    --color-success:    #5A823C;
    --color-warn:       #C77D11;
    --color-danger:     #B43A18;
    --color-border:     rgba(38, 24, 18, 0.15);
    --color-border-strong: rgba(38, 24, 18, 0.3);

    /* ----- Typography ----- */
    --font-display: 'DM Serif Display', 'Recoleta', Georgia, serif;
    --font-body:    'DM Sans', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    --font-mono:    'JetBrains Mono', ui-monospace, monospace;

    --fs-xs:   0.75rem;
    --fs-sm:   0.875rem;
    --fs-base: 1rem;
    --fs-lg:   1.125rem;
    --fs-xl:   1.25rem;
    --fs-2xl:  1.5rem;
    --fs-3xl:  2rem;
    --fs-4xl:  3rem;
    --fs-5xl:  clamp(3rem, 8vw, 6rem);
    --fs-display: clamp(4rem, 14vw, 12rem);

    --lh-tight:  1.1;
    --lh-snug:   1.3;
    --lh-normal: 1.5;
    --lh-loose:  1.7;

    /* ----- Spacing scale (4px base) ----- */
    --space-1:  0.25rem;
    --space-2:  0.5rem;
    --space-3:  0.75rem;
    --space-4:  1rem;
    --space-5:  1.25rem;
    --space-6:  1.5rem;
    --space-8:  2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;
    --space-32: 8rem;

    /* ----- Layout ----- */
    --container-max: 1280px;
    --container-narrow: 720px;
    --content-max: 65ch;

    /* ----- Borders & radii ----- */
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 32px;
    --radius-full: 9999px;

    --border-thin: 1px solid var(--color-border);
    --border-bold: 2px solid var(--color-ink);

    /* ----- Shadows ----- */
    --shadow-sm: 0 1px 2px rgba(38, 24, 18, 0.08);
    --shadow-md: 0 4px 12px rgba(38, 24, 18, 0.1);
    --shadow-lg: 0 12px 32px rgba(38, 24, 18, 0.15);

    /* ----- Motion ----- */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --duration-fast: 150ms;
    --duration-base: 250ms;
    --duration-slow: 500ms;

    /* ----- Z-index layers ----- */
    --z-nav:    100;
    --z-modal:  200;
    --z-toast:  300;
}
