/* ═══════════════════════════════════════════════════════════
   RIS - Rezept Index System
   Typografie & Text-Styles
   ═══════════════════════════════════════════════════════════ */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* Body Text */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: var(--font-base);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-base);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--text-primary);
}

h1 {
  font-size: var(--font-3xl);
  font-weight: var(--font-weight-bold);
}

h2 {
  font-size: var(--font-2xl);
}

h3 {
  font-size: var(--font-xl);
}

h4 {
  font-size: var(--font-lg);
}

h5, h6 {
  font-size: var(--font-base);
}

/* Monospace (für Code, IDs, etc.) */
code,
pre,
.mono {
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  font-size: 0.9em;
}

/* Text Utility Klassen */
.text-primary {
  color: var(--text-primary);
}

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

.text-muted {
  color: var(--text-muted);
}

.text-accent {
  color: var(--accent);
}

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

.text-warn {
  color: var(--status-warn);
}

.text-success {
  color: var(--status-ok);
}

.text-info {
  color: var(--status-info);
}

/* Font Sizes */
.text-sm {
  font-size: var(--font-sm);
}

.text-base {
  font-size: var(--font-base);
}

.text-lg {
  font-size: var(--font-lg);
}

.text-xl {
  font-size: var(--font-xl);
}

/* Font Weights */
.font-normal {
  font-weight: var(--font-weight-normal);
}

.font-medium {
  font-weight: var(--font-weight-medium);
}

.font-semibold {
  font-weight: var(--font-weight-semibold);
}

.font-bold {
  font-weight: var(--font-weight-bold);
}

/* Text Alignment */
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

/* Text Truncation */
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
