/* NimboCDN — variables de marca. GENERADO por brand-kit/tools/build_tokens.py.
   No editar a mano: la fuente de los colores es tools/contrast.py.
   v1.0.0 · 2026-08 · Opción 4 · Corte */

:root {
  /* ── Core ──────────────────────────────────────────────────────── */
  --nimbo-ciruela-700: #7A0F5C;   /* 10.24:1 sobre blanco */
  --nimbo-lima: #C8F53C;   /* 1.27:1 sobre blanco */
  --nimbo-rosa-100: #FFD9F0;   /* 1.28:1 sobre blanco */
  --nimbo-ink: #1C1019;   /* 18.46:1 sobre blanco */
  --nimbo-bg: #FBF6F9;   /* 1.07:1 sobre blanco */

  /* ── Semánticos: NO son colores de marca (ver $meta) ───────────── */
  --nimbo-ok: #1C7C3E;
  --nimbo-aviso: #8A5A00;
  --nimbo-error: #B3261E;

  /* ── Tema claro ────────────────────────────────────────────────── */
  --nimbo-bg: #FBF6F9;
  --nimbo-surface: #FFFFFF;
  --nimbo-surface-2: #F3E8F0;
  --nimbo-text: #1C1019;
  --nimbo-text-muted: #6B5766;
  --nimbo-accent: #7A0F5C;
  --nimbo-on-accent: #FFFFFF;
  --nimbo-accent-hover: #8C1A6A;
  --nimbo-accent-active: #5C1246;
  --nimbo-focus: #7A0F5C;
  --nimbo-link: #7A0F5C;
  --nimbo-link-hover: #8C1A6A;
  --nimbo-highlight: #C8F53C;
  --nimbo-border: #E7D6E2;

  /* ── Radios ────────────────────────────────────────────────────── */
  --nimbo-radius-sm: 6px;
  --nimbo-radius-md: 10px;
  --nimbo-radius-lg: 16px;
  --nimbo-radius-xl: 24px;
  --nimbo-radius-pill: 999px;

  /* ── Elevación ─────────────────────────────────────────────────── */
  --nimbo-shadow-e1: 0 1px 2px rgba(28,16,25,.06), 0 2px 6px rgba(28,16,25,.05);
  --nimbo-shadow-e2: 0 1px 2px rgba(28,16,25,.07), 0 8px 20px rgba(28,16,25,.08);
  --nimbo-shadow-e3: 0 1px 2px rgba(28,16,25,.12), 0 12px 26px rgba(28,16,25,.18);
  --nimbo-shadow-e4: 0 2px 6px rgba(28,16,25,.16), 0 20px 46px rgba(28,16,25,.26);

  /* ── Tipografía ────────────────────────────────────────────────── */
  --nimbo-font-display: 'Bricolage Grotesque', 'Helvetica Neue', Arial, sans-serif;
  --nimbo-font-text: 'Figtree', -apple-system, 'Segoe UI', system-ui, sans-serif;

  /* ── Movimiento ────────────────────────────────────────────────── */
  --nimbo-ease: cubic-bezier(.22,1,.36,1);
  --nimbo-dur-rapida: 180ms;
  --nimbo-dur-media: 340ms;
  --nimbo-dur-ciclo: 2400ms;
}

/* El tema oscuro redefine SOLO tokens. Ningún componente puede declarar un
   color acá adentro: si lo hace, ese color no existe en el tema claro. */
@media (prefers-color-scheme: dark) {
  :root:not([data-nimbo-theme="light"]) {
    --nimbo-bg: #16090F;
    --nimbo-surface: #21121B;
    --nimbo-surface-2: #332030;
    --nimbo-text: #F7EBF3;
    --nimbo-text-muted: #B9A3B2;
    --nimbo-accent: #FFD9F0;
    --nimbo-on-accent: #2B0D20;
    --nimbo-accent-hover: #FFE9F6;
    --nimbo-accent-active: #F0B7DD;
    --nimbo-focus: #C8F53C;
    --nimbo-link: #FFD9F0;
    --nimbo-link-hover: #FFE9F6;
    --nimbo-highlight: #C8F53C;
    --nimbo-border: #3A2233;
  }
}
:root[data-nimbo-theme="dark"] {
  --nimbo-bg: #16090F;
  --nimbo-surface: #21121B;
  --nimbo-surface-2: #332030;
  --nimbo-text: #F7EBF3;
  --nimbo-text-muted: #B9A3B2;
  --nimbo-accent: #FFD9F0;
  --nimbo-on-accent: #2B0D20;
  --nimbo-accent-hover: #FFE9F6;
  --nimbo-accent-active: #F0B7DD;
  --nimbo-focus: #C8F53C;
  --nimbo-link: #FFD9F0;
  --nimbo-link-hover: #FFE9F6;
  --nimbo-highlight: #C8F53C;
  --nimbo-border: #3A2233;
}

/* El lima nunca es texto sobre claro: 1.27:1 contra blanco.
   Sobre el campo ciruela llega a 8.09:1 y ahí sí funciona. */

@media (prefers-reduced-motion: reduce) {
  :root { --nimbo-dur-rapida: 0ms; --nimbo-dur-media: 0ms; --nimbo-dur-ciclo: 0ms; }
}
