/* Metrix — Color tokens
   Rule of use: 60% white/soft backgrounds, 25% purple tones,
   10% green accent (reserved for primary conversion CTA only),
   5% alert or gold detail. */
:root {
  /* Base palette */
  --purple-900: #2B1758; /* Primario oscuro */
  --purple-800: #3B2170; /* Primario medio */
  --purple-500: #5A3B9E; /* Variante media */
  --purple-100: #EDE9F7; /* Fondo suave */
  --purple-50:  #F6F4FC; /* Fondo muy suave */
  --white:      #FFFFFF; /* Fondo base */

  --ink-900: #1C1730; /* Texto principal */
  --ink-500: #6E6685; /* Texto secundario */

  --green-500: #1FAA6F; /* Acento principal */
  --green-100: #E4F5EC; /* Fondo acento verde */

  --red-600: #C0392B; /* Alerta */
  --red-100: #FBEAE8; /* Fondo alerta */

  --gold-500: #D9A441; /* Detalle dorado */

  /* Semantic aliases */
  --bg-page:       var(--white);
  --bg-soft:       var(--purple-100);
  --bg-softest:    var(--purple-50);
  --bg-inverse:    var(--purple-900);
  --bg-inverse-2:  var(--purple-800);

  --text-primary:   var(--ink-900);
  --text-secondary: var(--ink-500);
  --text-inverse:   var(--white);
  --text-inverse-secondary: #C9C2E0;

  --brand-primary:   var(--purple-800);
  --brand-primary-dark: var(--purple-900);
  --brand-primary-light: var(--purple-500);

  --accent:      var(--green-500);
  --accent-bg:   var(--green-100);
  --accent-hover: #178F5D;
  --accent-active: #13774D;

  --alert:       var(--red-600);
  --alert-bg:    var(--red-100);

  --detail-gold: var(--gold-500);

  --border-subtle: #E0DAF2;
  --border-strong: var(--purple-500);

  --focus-ring: rgba(90, 59, 158, 0.35);
}
:root {
  /* Radii */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-pill: 999px;
  --radius-circle: 50%;

  /* Shadows — soft, low-contrast, purple-tinted (never pure black) */
  --shadow-sm: 0 1px 2px rgba(43, 23, 88, 0.06);
  --shadow-md: 0 4px 16px rgba(43, 23, 88, 0.10);
  --shadow-lg: 0 12px 32px rgba(43, 23, 88, 0.14);
  --shadow-inset: inset 0 0 0 1px rgba(43, 23, 88, 0.08);

  /* Motion */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --duration-fast: 120ms; /* @kind other */
  --duration-base: 200ms; /* @kind other */
  --duration-slow: 400ms; /* @kind other */

  /* Gradients */
  --gradient-brand: linear-gradient(135deg, var(--purple-900) 0%, var(--purple-500) 100%);
  --gradient-brand-radial: radial-gradient(circle at 75% 50%, rgba(31,170,111,0.35) 0%, rgba(31,170,111,0) 60%); /* @kind other */
}
:root {
  --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;
  --space-32: 128px;

  --container-max: 1200px;
  --gutter: var(--space-6);
}
:root {
  --font-display: 'Poppins', 'Segoe UI', sans-serif;
  --font-tech: 'Space Grotesk', 'Segoe UI', sans-serif;
  --font-body: 'Roboto', 'Segoe UI', sans-serif;

  /* Type scale */
  --fs-display-xl: 56px;
  --fs-display-lg: 44px;
  --fs-display-md: 34px;
  --fs-display-sm: 26px;
  --fs-heading:    22px;
  --fs-body-lg:    18px;
  --fs-body:       16px;
  --fs-body-sm:    14px;
  --fs-caption:    12px;
  --fs-eyebrow:    13px;

  --lh-tight: 1.1; /* @kind other */
  --lh-snug:  1.25; /* @kind other */
  --lh-normal: 1.5; /* @kind other */
  --lh-relaxed: 1.7; /* @kind other */

  --tracking-tight: -0.02em; /* @kind other */
  --tracking-normal: 0; /* @kind other */
  --tracking-wide: 0.08em; /* @kind other */
  --tracking-widest: 0.14em; /* @kind other */

  --fw-regular: 400; /* @kind other */
  --fw-medium: 500; /* @kind other */
  --fw-semibold: 600; /* @kind other */
  --fw-bold: 700; /* @kind other */
  --fw-extrabold: 800; /* @kind other */
}
