/**
 * Typography System
 * Display/Headings: Sora (Geometric, Tech-Forward)
 * Body/Data/Labels: Inter (Legibility & Clean Metrics)
 */

/* Display Typography (Sora) */
.font-display-lg {
  font-family: var(--font-display);
  font-size: 48px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.font-display-lg-mobile {
  font-family: var(--font-display);
  font-size: 36px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.font-display-sm {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  font-feature-settings: 'tnum' on, 'lnum' on;
}

/* Headings (Sora) */
.font-headline-lg {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
}

.font-headline-sm {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
}

/* Body (Inter) */
.font-body-lg {
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}

.font-body-md {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}

/* Labels & Badges (Inter) */
.font-label-md {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
}

.font-label-sm {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

.font-mono {
  font-family: var(--font-mono);
  font-feature-settings: 'tnum' on, 'lnum' on;
}

/* Color Modifiers */
.text-primary { color: var(--color-primary); }
.text-primary-fixed { color: var(--color-primary-fixed); }
.text-primary-fixed-dim { color: var(--color-primary-fixed-dim); }
.text-primary-container { color: var(--color-primary-container); }
.text-on-primary { color: var(--color-on-primary); }

.text-secondary { color: var(--color-secondary); }
.text-secondary-fixed { color: var(--color-secondary-fixed); }
.text-secondary-fixed-dim { color: var(--color-secondary-fixed-dim); }
.text-secondary-container { color: var(--color-secondary-container); }

.text-error { color: var(--color-error); }
.text-live { color: var(--color-live); }
.text-warning { color: var(--color-warning); }

.text-on-surface { color: var(--color-on-surface); }
.text-on-surface-variant { color: var(--color-on-surface-variant); }
.text-muted { color: var(--color-outline); }

/* Text Utilities */
.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }
.capitalize { text-transform: capitalize; }
.tracking-tight { letter-spacing: -0.02em; }
.tracking-normal { letter-spacing: 0; }
.tracking-wide { letter-spacing: 0.05em; }
.tracking-wider { letter-spacing: 0.1em; }
.tracking-widest { letter-spacing: 0.15em; }
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
