/**
 * variables.css
 * Design tokens for the Fertilizer Shop app. Every color, spacing and
 * radius value used elsewhere in the CSS should reference one of these
 * custom properties rather than a literal value, so the whole theme
 * can be adjusted from this single file.
 */

:root {
  /* ---- Color: core palette (from the brief) ---- */
  --color-bg:            #F6F8F3;
  --color-surface:       #FFFFFF;
  --color-primary:       #78947B;
  --color-primary-light: #E7EEE5;
  --color-secondary:     #A7B8A0;
  --color-beige:         #F3EFE5;
  --color-text:          #344139;
  --color-text-muted:    #849087;
  --color-border:        #E8ECE5;
  --color-success:       #779B7B;
  --color-warning:       #D5B77A;
  --color-danger:        #C98282;

  /* ---- Color: derived tones ---- */
  --color-primary-dark:   #5E7861;
  --color-success-bg:     #EDF3EC;
  --color-warning-bg:     #FBF3E7;
  --color-danger-bg:      #F8EBEB;
  --color-overlay:        rgba(52, 65, 57, 0.45);
  --color-focus-ring:     rgba(120, 148, 123, 0.35);

  /* ---- Typography ---- */
  --font-display: 'DM Sans', 'Inter', system-ui, sans-serif;
  --font-body:    'Nunito Sans', 'Inter', system-ui, sans-serif;
  --font-mono:    'DM Sans', monospace;

  --text-xs:   0.75rem;   /* 12px */
  --text-sm:   0.8125rem; /* 13px */
  --text-base: 0.9375rem; /* 15px */
  --text-md:   1.0625rem; /* 17px */
  --text-lg:   1.25rem;   /* 20px */
  --text-xl:   1.5rem;    /* 24px */
  --text-2xl:  1.875rem;  /* 30px */

  --leading-tight:  1.25;
  --leading-normal: 1.5;
  --leading-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;

  /* ---- Radius ---- */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-full: 999px;

  /* ---- Elevation (restrained, per brief) ---- */
  --shadow-sm: 0 1px 2px rgba(52, 65, 57, 0.06);
  --shadow-md: 0 2px 8px rgba(52, 65, 57, 0.08);

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;

  /* ---- Layout ---- */
  --bottom-nav-height: 64px;
  --top-bar-height: 56px;
  --max-content-width: 960px;
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}
