/**
 * TTDS v2.0 — Typography scale
 * Inter (LTR) · IBM Plex Sans Arabic (RTL)
 */

body.tt-premium .tt-eyebrow {
  font-size: var(--tt-text-2xs);
  font-weight: 600;
  letter-spacing: var(--tt-tracking-eyebrow);
  text-transform: uppercase;
  color: var(--tt-signal);
  margin: 0 0 var(--tt-space-4);
  line-height: 1.4;
}

body.tt-premium--rtl .tt-eyebrow {
  text-transform: none;
  letter-spacing: 0;
  font-size: var(--tt-text-xs);
}

body.tt-premium .tt-display-2xl {
  font-size: var(--tt-text-display);
  font-weight: 700;
  line-height: var(--tt-leading-tight);
  letter-spacing: var(--tt-tracking-tighter);
  margin: 0 0 var(--tt-space-6);
  color: var(--tt-obsidian);
}

body.tt-premium .tt-display-xl {
  font-size: var(--tt-text-5xl);
  font-weight: 700;
  line-height: var(--tt-leading-tight);
  letter-spacing: var(--tt-tracking-tighter);
  margin: 0 0 var(--tt-space-5);
}

body.tt-premium .tt-display-lg {
  font-size: var(--tt-text-4xl);
  font-weight: 600;
  line-height: 1.18;
  letter-spacing: var(--tt-tracking-tight);
  margin: 0 0 var(--tt-space-5);
}

body.tt-premium .tt-heading-xl {
  font-size: var(--tt-text-3xl);
  font-weight: 600;
  line-height: var(--tt-leading-snug);
  letter-spacing: var(--tt-tracking-tight);
  margin: 0 0 var(--tt-space-4);
  color: var(--tt-obsidian);
}

body.tt-premium .tt-heading-lg {
  font-size: var(--tt-text-2xl);
  font-weight: 600;
  line-height: var(--tt-leading-snug);
  letter-spacing: var(--tt-tracking-tight);
  margin: 0 0 var(--tt-space-3);
}

body.tt-premium .tt-heading-md {
  font-size: var(--tt-text-xl);
  font-weight: 600;
  line-height: var(--tt-leading-snug);
  letter-spacing: var(--tt-tracking-normal);
  margin: 0 0 var(--tt-space-2);
}

body.tt-premium .tt-heading-sm {
  font-size: var(--tt-text-lg);
  font-weight: 600;
  line-height: var(--tt-leading-snug);
  margin: 0;
}

body.tt-premium .tt-body-lg {
  font-size: var(--tt-text-lg);
  line-height: var(--tt-leading-relaxed);
  color: var(--tt-graphite);
  font-weight: 400;
}

body.tt-premium .tt-body-sm {
  font-size: var(--tt-text-sm);
  line-height: var(--tt-leading-normal);
  color: var(--tt-slate);
}

body.tt-premium .tt-body-md {
  font-size: var(--tt-text-md);
  line-height: var(--tt-leading-normal);
  color: var(--tt-graphite);
}

body.tt-premium .tt-caption {
  font-size: var(--tt-text-xs);
  font-weight: 500;
  line-height: 1.45;
  color: var(--tt-slate);
}

body.tt-premium .tt-price-lg {
  font-size: var(--tt-text-2xl);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--tt-tracking-tight);
  color: var(--tt-obsidian);
}

body.tt-premium .tt-price-md {
  font-size: var(--tt-text-base);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: var(--tt-tracking-normal);
  color: var(--tt-obsidian);
}

@media (max-width: 768px) {
  body.tt-premium .tt-display-2xl {
    font-size: 2.125rem;
    letter-spacing: -0.03em;
  }

  body.tt-premium .tt-display-xl {
    font-size: 1.875rem;
  }

  body.tt-premium .tt-heading-xl {
    font-size: var(--tt-text-2xl);
  }
}
