/* ==========================================================================
   NexaMINT – Designtoken
   Farbwerte nach dem verbindlichen NexaMINT-Farbmanual.
   ========================================================================== */

:root {
  /* --- Markenfarben ----------------------------------------------------- */
  --nexa-graphite: #3c515d;
  --nexa-turquoise: #17c7d0;
  --nexa-coral: #e86f61;
  --nexa-deep: #1f2c33;
  --nexa-mist: #ddf8f9;
  --nexa-cloud: #f7fafa;
  --nexa-stone: #e5eaec;
  --nexa-white: #ffffff;

  /* Funktionale dunklere Varianten für kleine Texte und Links */
  --nexa-turquoise-dark: #087f86;
  --nexa-coral-dark: #b64f45;

  /* Abgeleitete Töne */
  --nexa-slate: #6c7f89; /* Nebentext, ausreichend kontrastreich auf Weiß */
  --nexa-mist-soft: #eefbfc;
  --nexa-coral-soft: #fdf1ef;

  /* --- Semantische Zuordnung ------------------------------------------- */
  --color-page: var(--nexa-cloud);
  --color-surface: var(--nexa-white);
  --color-surface-alt: var(--nexa-mist-soft);
  --color-text: var(--nexa-graphite);
  --color-heading: var(--nexa-deep);
  --color-muted: var(--nexa-slate);
  --color-border: var(--nexa-stone);
  --color-link: var(--nexa-turquoise-dark);
  --color-accent: var(--nexa-turquoise);
  --color-highlight: var(--nexa-coral);

  /* --- Typografie ------------------------------------------------------- */
  --font-heading: "Manrope", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    "Helvetica Neue", Arial, sans-serif;

  --text-xs: 0.8125rem;   /* 13px – nur für Labels, nie für Fließtext */
  --text-sm: 0.9375rem;   /* 15px */
  --text-base: 1.0625rem; /* 17px */
  --text-lg: 1.1875rem;   /* 19px */
  --text-xl: 1.375rem;    /* 22px */
  --text-2xl: 1.625rem;   /* 26px */
  --text-3xl: 2rem;       /* 32px */
  --text-4xl: 2.5rem;     /* 40px */
  --text-5xl: 3.125rem;   /* 50px */

  --leading-tight: 1.18;
  --leading-snug: 1.32;
  --leading-normal: 1.65;

  /* --- Abstände: konsistentes 8-Pixel-System ---------------------------- */
  --space-1: 0.25rem;  /*  4px */
  --space-2: 0.5rem;   /*  8px */
  --space-3: 0.75rem;  /* 12px */
  --space-4: 1rem;     /* 16px */
  --space-5: 1.5rem;   /* 24px */
  --space-6: 2rem;     /* 32px */
  --space-7: 2.5rem;   /* 40px */
  --space-8: 3rem;     /* 48px */
  --space-9: 4rem;     /* 64px */
  --space-10: 5rem;    /* 80px */
  --space-11: 6.5rem;  /* 104px */

  /* --- Layout ----------------------------------------------------------- */
  --container: 1200px;
  --container-narrow: 780px;
  --container-wide: 1360px;

  /* --- Radien und Schatten --------------------------------------------- */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 22px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(31, 44, 51, 0.05);
  --shadow-md: 0 2px 8px rgba(31, 44, 51, 0.06), 0 1px 2px rgba(31, 44, 51, 0.04);
  --shadow-lg: 0 12px 32px rgba(31, 44, 51, 0.09), 0 2px 6px rgba(31, 44, 51, 0.04);

  /* --- Bewegung --------------------------------------------------------- */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --duration: 220ms;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration: 1ms;
  }
}
