/**
 * Pareto Travel design tokens
 * Source: Figma variables in file IBbYsd9B2ZHOq7NXfEUhtL
 * Generated from the Primitive and Semantic collections on 2026-08-17.
 *
 * Figma-to-CSS normalization:
 * - scale and line-height numbers use px;
 * - underline thickness uses %;
 * - font styles use numeric CSS font weights;
 * - Figma enum/boolean decoration values use valid CSS keywords.
 */

:root {
  /* Primitive: colors */
  --primitive-color-plum-primary: #85586f;
  --primitive-color-plum-secondary: #ba97a3;
  --primitive-color-plum-tertiary: #f0dbdb;
  --primitive-color-cream: #fefcf3;
  --primitive-color-teal: #588584;
  --primitive-color-caviar: #2c2f32;
  --primitive-color-black: #000000;
  --primitive-color-white: #ffffff;

  /* Primitive: typography */
  --primitive-font-family-heading: "Bitcount Grid Single";
  --primitive-font-family-body: "Iosevka Charon Mono";
  --primitive-font-weight-regular: 400;
  --primitive-font-weight-medium: 500;
  --primitive-font-weight-semi-bold: 600;
  --primitive-font-weight-bold: 700;
  --primitive-line-height-body: 24px;
  --primitive-line-height-heading: 72px;
  --primitive-line-height-sub-heading: 48px;

  /* Primitive: scale */
  --primitive-scale-gap: 3px;
  --primitive-scale-base: 6px;
  --primitive-scale-small: 12px;
  --primitive-scale-medium: 18px;
  --primitive-scale-large: 24px;
  --primitive-scale-x-large: 30px;
  --primitive-scale-xx-large: 36px;
  --primitive-scale-xxx-large: 72px;
  --primitive-scale-6xl: 144px;
  --primitive-scale-sub-heading: 48px;
  --primitive-scale-heading: 60px;

  /* Primitive: text decoration */
  --primitive-text-decoration-line-underline: underline;
  --primitive-text-decoration-style-dotted: dotted;
  --primitive-text-decoration-thickness-20-percent: 20%;
  --primitive-text-decoration-offset-auto: auto;
  --primitive-text-decoration-skip-ink-enabled: auto;

  /* Semantic: backgrounds */
  --color-bg-canvas: var(--primitive-color-cream);
  --color-bg-subtle: var(--primitive-color-plum-tertiary);
  --color-bg-brand: var(--primitive-color-plum-primary);
  --color-bg-surface: var(--primitive-color-white);

  /* Semantic: text */
  --color-text-primary: var(--primitive-color-plum-primary);
  --color-text-secondary: var(--primitive-color-plum-secondary);
  --type-color-text-secondary: var(--color-text-secondary);
  --color-text-inverse: var(--primitive-color-cream);
  --color-text-accent: var(--primitive-color-teal);
  --color-text-neutral: var(--primitive-color-caviar);

  /* Semantic: borders */
  --color-border-subtle: var(--primitive-color-plum-tertiary);
  --color-border-default: var(--primitive-color-plum-secondary);
  --color-border-strong: var(--primitive-color-plum-primary);

  /* Semantic: icons */
  --color-icon-primary: var(--primitive-color-plum-primary);
  --color-icon-secondary: var(--primitive-color-plum-secondary);
  --color-icon-tertiary: var(--primitive-color-plum-tertiary);
  --color-icon-teal: var(--primitive-color-teal);
  --color-icon-hover: var(--primitive-color-teal);
  --color-icon-neutral: var(--primitive-color-caviar);

  /* Semantic: accents */
  --color-accent-primary: var(--primitive-color-plum-primary);
  --color-accent-secondary: var(--primitive-color-teal);

  /* Semantic: maps and artwork */
  --color-map-base: var(--primitive-color-plum-tertiary);
  --color-map-visited: var(--primitive-color-plum-primary);
  --color-map-recommended: var(--primitive-color-plum-secondary);
  --color-artwork-tint: var(--primitive-color-teal);

  /* Semantic: spacing */
  --space-2xs: var(--primitive-scale-gap);
  --space-xs: var(--primitive-scale-base);
  --space-sm: var(--primitive-scale-small);
  --space-md: var(--primitive-scale-medium);
  --space-lg: var(--primitive-scale-large);
  --space-xl: var(--primitive-scale-x-large);
  --space-xxl: var(--primitive-scale-xx-large);
  --space-xxxl: var(  --primitive-scale-xxx-large);
  --space-6xl: var(--primitive-scale-6xl);
  /* Semantic: sizing */
  --size-dot-base: var(--primitive-scale-base);

  /* Semantic: type families */
  --type-family-display: var(--primitive-font-family-heading);
  --type-family-body: var(--primitive-font-family-body);

  /* Semantic: type weights */
  --type-weight-regular: var(--primitive-font-weight-regular);
  --type-weight-emphasis: var(--primitive-font-weight-medium);
  --type-weight-strong: var(--primitive-font-weight-semi-bold);
  --type-weight-bold: var(--primitive-font-weight-bold);

  /* Semantic: type sizes */
  --type-size-label: var(--primitive-scale-small);
  --type-size-body: var(--primitive-scale-medium);
  --type-size-nav-ul: var(--primitive-scale-large);
  --type-size-polaroid-location: var(--primitive-scale-large);
  --type-size-map-label: var(--primitive-scale-large);
  --type-size-budget-item: var(--primitive-scale-large);
  --type-size-logo: var(--primitive-scale-x-large);
  --type-size-section-title: var(--primitive-scale-sub-heading);
  --type-size-page-title: var(--primitive-scale-heading);

  /* Semantic: body links */
  --type-link-decoration-line: var(--primitive-text-decoration-line-underline);
  --type-link-decoration-style: var(--primitive-text-decoration-style-dotted);
  --type-link-decoration-thickness: var(--primitive-text-decoration-thickness-20-percent);
  --type-link-underline-offset: var(--primitive-text-decoration-offset-auto);
  --type-link-decoration-skip-ink: var(--primitive-text-decoration-skip-ink-enabled);

  /* Semantic: line heights */
  --type-line-height-body: var(--primitive-line-height-body);
  --type-line-height-heading: var(--primitive-line-height-heading);
  --type-line-height-sub-heading: var(--primitive-line-height-sub-heading);
}
