/* ==========================================================================
   Riconos — Design tokens
   Single source of truth for the Orchard Core theme.
   All values are CSS custom properties so they can move into the theme's
   token file (wwwroot/css) 1:1. Derived from the two brand colours:
     brand green  #95C11F
     brand navy   #0C0860
   ========================================================================== */

:root {
  /* --- Brand ------------------------------------------------------------- */
  --color-brand-green: #95C11F;
  --color-brand-navy:  #0C0860;

  /* --- Green scale (tints -> shades) ------------------------------------- */
  --color-green-50:  #f3f8e4;   /* soft fill / badge background            */
  --color-green-100: #e6f1c6;
  --color-green-200: #dcebb2;   /* borders on green fills                  */
  --color-green-400: #a9d13a;
  --color-green-500: #95c11f;   /* = brand green                           */
  --color-green-600: #7fa71a;
  --color-green-700: #6a8f14;   /* accent text on light (AA on white)      */

  /* --- Navy scale (base -> tints) ---------------------------------------- */
  --color-navy-900: #0c0860;    /* = brand navy                            */
  --color-navy-800: #151070;
  --color-navy-700: #23213f;    /* near-black navy, default heading ink    */
  --color-navy-600: #3d3a66;
  --color-navy-500: #4b4870;    /* body copy on light                      */
  --color-navy-400: #514e78;
  --color-navy-300: #7a7799;    /* muted / captions                        */
  --color-navy-200: #9996b5;
  --color-navy-100: #b9b5dc;    /* body copy on navy                       */
  --color-navy-50:  #cfcbe8;

  /* --- Neutrals (warm-tinted) -------------------------------------------- */
  --color-bg:        #fbfcf6;   /* page background                          */
  --color-surface:   #ffffff;   /* cards / raised surfaces                  */
  --color-surface-2: #f7f6fb;   /* subtle navy-tinted surface               */
  --color-border:    #ecead9;   /* warm hairline                            */
  --color-border-2:  #eceaf2;   /* cool hairline                            */

  /* --- Semantic ---------------------------------------------------------- */
  --color-text:        var(--color-navy-700);
  --color-text-muted:  var(--color-navy-300);
  --color-heading:     var(--color-brand-navy);
  --color-success:     var(--color-green-700);
  --color-success-bg:  var(--color-green-50);
  --color-warning:     #b48a0a;
  --color-warning-bg:  #fffbea;
  --color-error:       #c0392b;
  --color-error-bg:    #fdecea;

  /* --- Focus ------------------------------------------------------------- */
  --focus-ring: 0 0 0 3px rgba(149, 193, 31, 0.55);

  /* --- Spacing scale (4px base) ------------------------------------------ */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;

  /* Fluid layout rhythm */
  --gutter:    clamp(20px, 5vw, 48px);   /* page horizontal padding        */
  --section-y: clamp(48px, 6vw, 80px);   /* section vertical padding        */
  --container: 1180px;                   /* max content width               */

  /* --- Radii ------------------------------------------------------------- */
  --radius-sm:  8px;
  --radius-md:  12px;
  --radius-lg:  16px;
  --radius-xl:  20px;
  --radius-2xl: 24px;
  --radius-pill: 999px;

  /* --- Type -------------------------------------------------------------- */
  --font-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;

  --font-size-xs:   0.8125rem;   /* 13px */
  --font-size-sm:   0.875rem;    /* 14px */
  --font-size-base: 1rem;        /* 16px */
  --font-size-lead: clamp(1rem, 0.95rem + 0.4vw, 1.125rem);      /* 16->18 */
  --font-size-h3:   clamp(1.125rem, 1rem + 0.7vw, 1.375rem);     /* 18->22 */
  --font-size-h2:   clamp(1.5rem, 1.15rem + 1.7vw, 2rem);        /* 24->32 */
  --font-size-h1:   clamp(2rem, 1.25rem + 3.4vw, 3.125rem);      /* 32->50 */
  --font-size-display: clamp(2.25rem, 1.2rem + 4.6vw, 3.5rem);   /* hero XL */

  --line-tight: 1.1;
  --line-snug:  1.25;
  --line-body:  1.6;

  /* --- Elevation --------------------------------------------------------- */
  --shadow-sm: 0 1px 3px rgba(12, 8, 96, 0.06);
  --shadow-md: 0 12px 32px rgba(12, 8, 96, 0.08);
  --shadow-lg: 0 20px 50px rgba(12, 8, 96, 0.12);

  /* --- Motion ------------------------------------------------------------ */
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur:  180ms;

  /* --- Controls ---------------------------------------------------------- */
  --tap-min: 44px;               /* minimum touch target                    */
  --header-h: 72px;
}
