:root {
  /* Paleta base */
  --olive-90: #3d4321;
  --olive-70: #4b5329;
  --olive: #5f6733;
  --olive-40: #7c864a;
  --olive-20: #a3ab7c;
  --blush-05: #f6f0ef;
  --blush: #ebdedd;
  --blush-dark: #dcc9c8;
  --marigold: #fab43c;
  --marigold-70: #e09a20;
  --marigold-20: #fde2b3;
  --ink: #2b2a1f;
  --cream: #f7f2ea;

  /* Verdes de la papeleria del negocio */
  --verde-bosque: #1e3a2b;
  --verde-medio: #3f7a50;
  --verde-tinta: #2a2e1a;
  --terracotta: #c1592e;
  --espresso: #6b3a24;
  --hueso: #f1e8e1;

  /* Aliases semanticos */
  --color-bg: var(--blush);
  --color-bg-elevated: var(--blush-05);
  --color-surface-card: var(--cream);
  --color-brand-primary: var(--olive);
  --color-brand-primary-hover: var(--olive-70);
  --color-brand-primary-press: var(--olive-90);
  --color-brand-on-primary: var(--blush-05);
  --color-accent: var(--marigold);
  --color-accent-hover: var(--marigold-70);
  --color-accent-on: var(--olive-90);
  --color-text: var(--ink);
  --color-text-muted: var(--olive-70);
  --color-text-on-dark: var(--blush-05);
  --color-border: var(--olive-20);
  --color-link: var(--olive-70);
  --color-link-hover: var(--marigold-70);
  --color-surface-feature: var(--verde-bosque);
  --color-text-on-feature: var(--blush-05);

  /* Colores por categoria */
  --cat-alimentos-bg: var(--hueso);
  --cat-alimentos-surface: var(--verde-bosque);
  --cat-alimentos-on-surface: var(--hueso);
  --cat-formacion-primary: var(--marigold);
  --cat-formacion-secondary: var(--terracotta);
  --cat-formacion-on: var(--verde-bosque);
  --cat-universo-base-1: var(--olive);
  --cat-universo-base-2: var(--espresso);
  --cat-universo-on: var(--blush-05);

  /* Terracota apta AA: 5,04:1 sobre #fdfbf6. Para texto chico y bloques con texto claro. */
  --terracotta-aa: #b0502a;

  /* Paletas de las paginas de seccion */
  --alimentos-bloque: var(--verde-bosque);
  --alimentos-texto: var(--hueso);
  --universo-bloque-1: var(--olive);
  --universo-bloque-2: var(--espresso);
  --universo-bloque-3: var(--olive-20);
  --universo-texto: var(--blush-05);
  --universo-acento: #f5c518;
  --capacitaciones-bloque-1: var(--marigold);
  --capacitaciones-bloque-2: var(--terracotta-aa);
  --capacitaciones-bloque-3: var(--marigold-20);

  /* Tipografia */
  --font-display: "Whimsy", cursive;
  --font-body: "Work Sans", "Karla", -apple-system, sans-serif;
  --font-caps: "Work Sans", sans-serif;

  --text-display-xl: clamp(3rem, 7vw, 6rem);
  --text-display-l: clamp(2.25rem, 5vw, 4rem);
  --text-display-m: clamp(1.75rem, 3.5vw, 2.75rem);
  --text-heading: 1.5rem;
  --text-subheading: 1.125rem;
  --text-body-l: 1.125rem;
  --text-body: 1rem;
  --text-small: 0.875rem;
  --text-caption: 0.75rem;

  --lh-tight: 1.05;
  --lh-display: 1.1;
  --lh-heading: 1.25;
  --lh-body: 1.55;

  --ls-caps: 0.14em;
  --ls-tight: -0.01em;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;

  /* Espaciado */
  --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;

  /* Bordes y radios */
  --radius-s: 6px;
  --radius-m: 14px;
  --radius-l: 28px;
  --radius-pill: 999px;
  --container-max: 1120px;

  /* Sombras y efectos */
  --shadow-card: 0 6px 20px -8px rgba(43, 42, 31, 0.28);
  --shadow-pop: 0 12px 32px -10px rgba(43, 42, 31, 0.35);
  --border-hairline: 1px solid var(--color-border);
  --border-thick: 2px solid var(--color-brand-primary);
  --ease-standard: cubic-bezier(.4, 0, .2, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
}
