/* ============================================================================
   GREENTECH CHARITY — Design tokens
   Brand-soră al firmei Greentech. ADN verde, dar CALD & UMAN:
   verde frunză + teracotă + solar pe fundal crem. Sans expresiv (Bricolage
   Grotesque) la titluri, humanist (Plus Jakarta Sans) la text, mono (JetBrains)
   la cifre de impact — puntea cu firma-mamă ("măsurăm impactul ca inginerii").
   ============================================================================ */

:root {
  /* ---- Verde frunză (brand principal) ---- */
  --leaf-900: #0F3D22;
  --leaf-800: #155C33;
  --leaf-700: #247A47;   /* verde-text accesibil pe alb/crem (AA) */
  --leaf-600: #2E9E5B;   /* ★ brand principal — CTA, marcă, activ */
  --leaf-500: #3DAE66;
  --leaf-400: #5BC182;
  --leaf-300: #86D4A4;
  --leaf-200: #B6E6C9;
  --leaf-100: #D9F2E3;
  --leaf-050: #EFF9F2;

  /* ---- Teracotă (accent-semnătură: căldură umană, sol, case) ---- */
  --terra-700: #8F3D24;
  --terra-600: #A8472B;
  --terra-500: #C75B39;  /* ★ accent cald */
  --terra-400: #DD7A57;
  --terra-300: #E9A287;
  --terra-100: #F6DDD2;
  --terra-050: #FBEEE7;

  /* ---- Solar (energie / optimism) ---- */
  --solar-600: #D98A1F;
  --solar-500: #F2A93B;  /* ★ */
  --solar-400: #F7C04F;
  --solar-100: #FCEACB;

  /* ---- Cer (rar, <5% — apă / aer curat) ---- */
  --sky-500: #3E92C8;
  --sky-400: #5AA9D6;
  --sky-100: #DCEDF6;

  /* ---- Neutre calde (sand / stone — niciodată gri rece) ---- */
  --ink-900: #2A2620;   /* text principal — negru cald */
  --ink-800: #3A352D;
  --ink-700: #4E473C;
  --ink-600: #6B6358;   /* text muted */
  --ink-500: #8A8071;
  --ink-400: #A89E8D;
  --ink-300: #C9C0AE;
  --stone-200: #E4DCCB; /* hairline border */
  --sand-100: #F2EBDD;  /* suprafață subtilă */
  --cream:    #FAF6EE;  /* ★ canvas / paper */
  --white:    #FFFFFF;

  /* ---- Semantic (light = default) ---- */
  --bg:            var(--cream);
  --bg-elev:       var(--white);
  --bg-sunken:     var(--sand-100);
  --text:          var(--ink-900);
  --text-soft:     var(--ink-600);
  --text-faint:    #6E6557;   /* întunecat ca să treacă WCAG AA pe crem (~4.6:1) — folosit pe disclaimere/note reale */
  --line:          var(--stone-200);
  --line-strong:   color-mix(in oklab, var(--ink-900) 16%, transparent);
  --accent:        var(--leaf-600);
  --accent-deep:   var(--leaf-700);
  --accent-warm:   var(--terra-500);
  --accent-solar:  var(--solar-500);
  --on-accent:     var(--white);

  /* ---- Secțiuni închise (verde-pământ profund) ---- */
  --dark-bg:    #14241A;
  --dark-bg-2:  #0E1B13;
  --dark-elev:  #1E3327;
  --dark-text:  #F2EBDD;
  --dark-soft:  #A9BBAE;
  --dark-line:  color-mix(in oklab, #ffffff 14%, transparent);

  /* ---- Tipografie ---- */
  --font-display: "Bricolage Grotesque", "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;

  --fs-300: clamp(0.78rem, 0.76rem + 0.1vw, 0.84rem);
  --fs-400: clamp(0.9rem, 0.87rem + 0.15vw, 1rem);
  --fs-500: clamp(1.05rem, 1rem + 0.3vw, 1.25rem);
  --fs-600: clamp(1.3rem, 1.18rem + 0.6vw, 1.7rem);
  --fs-700: clamp(1.7rem, 1.42rem + 1.4vw, 2.6rem);
  --fs-800: clamp(2.3rem, 1.8rem + 2.6vw, 4rem);
  --fs-900: clamp(3rem, 2rem + 5vw, 6.5rem);

  --lh-tight: 1.02;
  --lh-snug: 1.14;
  --lh-body: 1.62;
  --tracking-tight: -0.02em;
  --tracking-tighter: -0.035em;
  --tracking-wide: 0.16em;

  /* ---- Spacing / layout ---- */
  --space-1: 0.25rem;  --space-2: 0.5rem;  --space-3: 0.75rem;
  --space-4: 1rem;     --space-5: 1.5rem;  --space-6: 2rem;
  --space-7: 3rem;     --space-8: 4rem;    --space-9: 6rem;
  --space-10: 8rem;
  --maxw: 1240px;
  --maxw-text: 64ch;
  --gutter: clamp(1.25rem, 4vw, 4rem);

  /* Colțuri mai blânde decât firma (4px) → căldură */
  --radius: 10px;
  --radius-lg: 20px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  /* ---- Umbre (calde) ---- */
  --shadow-sm: 0 1px 2px rgba(42,38,32,0.06), 0 1px 1px rgba(42,38,32,0.04);
  --shadow-md: 0 10px 28px -10px rgba(60,40,20,0.18), 0 2px 8px -4px rgba(60,40,20,0.10);
  --shadow-lg: 0 32px 64px -24px rgba(60,40,20,0.26), 0 12px 24px -12px rgba(60,40,20,0.16);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-1: 0.18s;
  --dur-2: 0.4s;
  --dur-3: 0.7s;
}

[data-theme="dark"] {
  --bg: var(--dark-bg);
  --bg-elev: var(--dark-elev);
  --bg-sunken: var(--dark-bg-2);
  --text: var(--dark-text);
  --text-soft: var(--dark-soft);
  --line: var(--dark-line);
  --accent: var(--leaf-400);
  --accent-deep: var(--leaf-300);
}
