/**
 * Poupex Play 4.0 — Typography
 * Prefixo de utilitários: .pp4-text-* / .pp4-heading-*
 */

.pp4-ds {
  font-family: var(--pp4-font-sans);
  font-size: var(--pp4-text-base);
  font-weight: var(--pp4-weight-regular);
  line-height: var(--pp4-leading-normal);
  color: var(--pp4-color-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.pp4-heading-1,
.pp4-heading-2,
.pp4-heading-3,
.pp4-heading-4 {
  font-family: var(--pp4-font-display);
  font-weight: var(--pp4-weight-extrabold);
  line-height: var(--pp4-leading-tight);
  letter-spacing: -0.02em;
  color: var(--pp4-color-text);
  margin: 0;
}

.pp4-heading-1 { font-size: var(--pp4-text-4xl); }
.pp4-heading-2 { font-size: var(--pp4-text-3xl); }
.pp4-heading-3 { font-size: var(--pp4-text-2xl); }
.pp4-heading-4 {
  font-size: var(--pp4-text-xl);
  font-weight: var(--pp4-weight-bold);
}

.pp4-text-body {
  font-size: var(--pp4-text-base);
  line-height: var(--pp4-leading-relaxed);
  color: var(--pp4-color-text-secondary);
}

.pp4-text-sm {
  font-size: var(--pp4-text-sm);
  line-height: var(--pp4-leading-snug);
  color: var(--pp4-color-text-muted);
}

.pp4-text-xs {
  font-size: var(--pp4-text-xs);
  line-height: var(--pp4-leading-snug);
  color: var(--pp4-color-text-subtle);
  letter-spacing: 0.02em;
}

.pp4-text-label {
  font-size: var(--pp4-text-xs);
  font-weight: var(--pp4-weight-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--pp4-color-text-muted);
}

.pp4-text-mono {
  font-family: var(--pp4-font-mono);
  font-size: var(--pp4-text-sm);
}

.pp4-text-blue { color: var(--pp4-color-blue-bright); }
.pp4-text-purple { color: var(--pp4-color-purple-bright); }
.pp4-text-success { color: var(--pp4-color-success); }
.pp4-text-danger { color: var(--pp4-color-danger); }
.pp4-text-muted { color: var(--pp4-color-text-muted); }
