// ==========================================================================
// SEMANTIC TYPOGRAPHY
// ==========================================================================
// Meaningful typography tokens for content hierarchy and UI components
// Maps base typography values to contextual usage patterns
// ==========================================================================
@use '../../base/typography' as *;

// CONTENT HIERARCHY - Semantic text roles
$semantic-typography-heading-display: (
  font-family: $base-typography-font-family-display,
  font-size: $base-typography-font-size-4xl,
  font-weight: $base-typography-font-weight-bold,
  line-height: $base-typography-line-height-tight,
  letter-spacing: $base-typography-letter-spacing-tight,
) !default;

$semantic-typography-heading-h1: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-3xl,
  font-weight: $base-typography-font-weight-bold,
  line-height: $base-typography-line-height-tight,
  letter-spacing: $base-typography-letter-spacing-tight,
) !default;

$semantic-typography-heading-h2: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-2xl,
  font-weight: $base-typography-font-weight-semibold,
  line-height: $base-typography-line-height-snug,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-heading-h3: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-xl,
  font-weight: $base-typography-font-weight-semibold,
  line-height: $base-typography-line-height-snug,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-heading-h4: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-lg,
  font-weight: $base-typography-font-weight-medium,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-heading-h5: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-md,
  font-weight: $base-typography-font-weight-medium,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-font-family-sans: $base-typography-font-family-sans !default;
$semantic-typography-font-family-serif: $base-typography-font-family-serif !default;
$semantic-typography-font-family-mono: $base-typography-font-family-mono !default;
$semantic-typography-font-family-display: $base-typography-font-family-display !default;



// INDIVIDUAL TOKENS - For easier access in component styles
$semantic-typography-heading-h1-size: $base-typography-font-size-3xl !default;
$semantic-typography-heading-h1-weight: $base-typography-font-weight-bold !default;
$semantic-typography-heading-h1-line-height: $base-typography-line-height-tight !default;

$semantic-typography-heading-h2-size: $base-typography-font-size-2xl !default;
$semantic-typography-heading-h2-weight: $base-typography-font-weight-semibold !default;
$semantic-typography-heading-h2-line-height: $base-typography-line-height-snug !default;

$semantic-typography-heading-h3-size: $base-typography-font-size-xl !default;
$semantic-typography-heading-h3-weight: $base-typography-font-weight-semibold !default;
$semantic-typography-heading-h3-line-height: $base-typography-line-height-snug !default;

$semantic-typography-heading-h4-size: $base-typography-font-size-lg !default;
$semantic-typography-heading-h4-weight: $base-typography-font-weight-medium !default;
$semantic-typography-heading-h4-line-height: $base-typography-line-height-normal !default;

$semantic-typography-heading-h5-size: $base-typography-font-size-md !default;
$semantic-typography-heading-h5-weight: $base-typography-font-weight-medium !default;
$semantic-typography-heading-h5-line-height: $base-typography-line-height-normal !default;

// ICON TYPOGRAPHY - Icon sizing for different contexts
$semantic-typography-icon-small-size: $base-typography-font-size-sm !default;
$semantic-typography-icon-medium-size: $base-typography-font-size-lg !default;
$semantic-typography-icon-large-size: $base-typography-font-size-xl !default;

// BREAKPOINT TOKENS - For responsive adjustments
$semantic-breakpoint-sm: 640px !default;
$semantic-breakpoint-md: 768px !default;
$semantic-breakpoint-lg: 1024px !default;

// BODY TEXT - Content text styles
$semantic-typography-body-large: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-lg,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-relaxed,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-body-medium: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-md,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-relaxed,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-body-small: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-sm,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

// UI COMPONENT TEXT - Interface elements
$semantic-typography-button-large: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-md,
  font-weight: $base-typography-font-weight-medium,
  line-height: $base-typography-line-height-none,
  letter-spacing: $base-typography-letter-spacing-wide,
) !default;

$semantic-typography-button-medium: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-sm,
  font-weight: $base-typography-font-weight-medium,
  line-height: $base-typography-line-height-none,
  letter-spacing: $base-typography-letter-spacing-wide,
) !default;

$semantic-typography-button-small: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-xs,
  font-weight: $base-typography-font-weight-medium,
  line-height: $base-typography-line-height-none,
  letter-spacing: $base-typography-letter-spacing-wider,
) !default;

// FORM TEXT - Input and label styles
$semantic-typography-label: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-sm,
  font-weight: $base-typography-font-weight-medium,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-input: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-md,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-placeholder: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-md,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

// NAVIGATION TEXT - Menu and navigation styles
$semantic-typography-nav-primary: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-md,
  font-weight: $base-typography-font-weight-medium,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-nav-secondary: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-sm,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

// UTILITY TEXT - Captions, tags, etc.
$semantic-typography-caption: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-xs,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-tag: (
  font-family: $base-typography-font-family-sans,
  font-size: $base-typography-font-size-xs,
  font-weight: $base-typography-font-weight-medium,
  line-height: $base-typography-line-height-none,
  letter-spacing: $base-typography-letter-spacing-wide,
) !default;

$semantic-typography-code-inline: (
  font-family: $base-typography-font-family-mono,
  font-size: $base-typography-font-size-sm,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-normal,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

$semantic-typography-code-block: (
  font-family: $base-typography-font-family-mono,
  font-size: $base-typography-font-size-sm,
  font-weight: $base-typography-font-weight-normal,
  line-height: $base-typography-line-height-relaxed,
  letter-spacing: $base-typography-letter-spacing-normal,
) !default;

// INDIVIDUAL SEMANTIC FONT WEIGHTS - Direct access to weight values
$semantic-typography-font-weight-thin: $base-typography-font-weight-thin !default;
$semantic-typography-font-weight-extralight: $base-typography-font-weight-extralight !default;
$semantic-typography-font-weight-light: $base-typography-font-weight-light !default;
$semantic-typography-font-weight-normal: $base-typography-font-weight-normal !default;
$semantic-typography-font-weight-medium: $base-typography-font-weight-medium !default;
$semantic-typography-font-weight-semibold: $base-typography-font-weight-semibold !default;
$semantic-typography-font-weight-bold: $base-typography-font-weight-bold !default;
$semantic-typography-font-weight-extrabold: $base-typography-font-weight-extrabold !default;
$semantic-typography-font-weight-black: $base-typography-font-weight-black !default;

// INDIVIDUAL SEMANTIC FONT SIZES - Direct access to size values
$semantic-typography-font-size-xs: $base-typography-font-size-xs !default;
$semantic-typography-font-size-sm: $base-typography-font-size-sm !default;
$semantic-typography-font-size-md: $base-typography-font-size-md !default;
$semantic-typography-font-size-lg: $base-typography-font-size-lg !default;
$semantic-typography-font-size-xl: $base-typography-font-size-xl !default;
$semantic-typography-font-size-2xl: $base-typography-font-size-2xl !default;
$semantic-typography-font-size-3xl: $base-typography-font-size-3xl !default;
$semantic-typography-font-size-4xl: $base-typography-font-size-4xl !default;
$semantic-typography-font-size-5xl: $base-typography-font-size-5xl !default;
$semantic-typography-font-size-6xl: $base-typography-font-size-6xl !default;
$semantic-typography-font-size-7xl: $base-typography-font-size-7xl !default;
$semantic-typography-font-size-8xl: $base-typography-font-size-8xl !default;
$semantic-typography-font-size-9xl: $base-typography-font-size-9xl !default;
$semantic-typography-font-size-10xl: $base-typography-font-size-10xl !default;
$semantic-typography-font-size-11xl: $base-typography-font-size-11xl !default;

// INDIVIDUAL SEMANTIC LINE HEIGHTS - Direct access to line height values
$semantic-typography-line-height-none: $base-typography-line-height-none !default;
$semantic-typography-line-height-tight: $base-typography-line-height-tight !default;
$semantic-typography-line-height-snug: $base-typography-line-height-snug !default;
$semantic-typography-line-height-normal: $base-typography-line-height-normal !default;
$semantic-typography-line-height-relaxed: $base-typography-line-height-relaxed !default;
$semantic-typography-line-height-loose: $base-typography-line-height-loose !default;
$semantic-typography-line-height-3: $base-typography-line-height-3 !default;
$semantic-typography-line-height-4: $base-typography-line-height-4 !default;
$semantic-typography-line-height-5: $base-typography-line-height-5 !default;
$semantic-typography-line-height-6: $base-typography-line-height-6 !default;
$semantic-typography-line-height-7: $base-typography-line-height-7 !default;
$semantic-typography-line-height-8: $base-typography-line-height-8 !default;
$semantic-typography-line-height-9: $base-typography-line-height-9 !default;
$semantic-typography-line-height-10: $base-typography-line-height-10 !default;

// INDIVIDUAL SEMANTIC LETTER SPACING - Direct access to letter spacing values
$semantic-typography-letter-spacing-tighter: $base-typography-letter-spacing-tighter !default;
$semantic-typography-letter-spacing-tight: $base-typography-letter-spacing-tight !default;
$semantic-typography-letter-spacing-normal: $base-typography-letter-spacing-normal !default;
$semantic-typography-letter-spacing-wide: $base-typography-letter-spacing-wide !default;
$semantic-typography-letter-spacing-wider: $base-typography-letter-spacing-wider !default;
$semantic-typography-letter-spacing-widest: $base-typography-letter-spacing-widest !default;