/* ═══════════════════════════════════════
   CORE — Utilities
   Typography · Text helpers · Display · Spacing
   ═══════════════════════════════════════ */

/* ── Typography ── */
/* ── Typography utility classes ── */
.h1 {
  font-size: var(--fs-2xl, 24px);
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.h2 {
  font-size: var(--fs-xl, 20px);
  font-weight: 600;
  color: var(--text-primary);
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.h3 {
  font-size: var(--fs-lg, 17px);
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.35;
}
.p {
  font-size: var(--fs-base, 15px);
  line-height: 1.5;
  color: var(--text-primary);
}
.small {
  font-size: var(--fs-sm, 13px);
  line-height: 1.4;
  color: var(--text-secondary);
}
.caption {
  font-size: var(--fs-xs, 11px);
  line-height: 1.3;
  color: var(--label);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}


/* ── UI Helpers ── */
/* ── Utility helpers ─────────────────────────────────── */
.ui-text-muted  { color: var(--label); }
.ui-text-danger { color: var(--danger); }
.ui-text-accent { color: var(--text-primary); }
.ui-text-sm     { font-size: var(--fs-sm); }
.ui-text-xs     { font-size: var(--fs-xs); }
.ui-text-lg     { font-size: var(--fs-lg); }
.ui-mt { margin-top: var(--gap); }
.ui-mb { margin-bottom: var(--gap); }
.ui-gap { gap: var(--gap); }
.ui-gap-sm { gap: var(--gap-sm); }


/* ── Display ── */
/* в•ђв•ђ Utilities в•ђв•ђ */
.hidden { display: none !important; }

