/* ============================================
   Филигранная типографика — базовые правила
   ============================================ */

/* Кернинг и лигатуры для заголовков */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-dark);
  text-rendering: optimizeLegibility;
  font-variant-ligatures: common-ligatures contextual;
  text-wrap: balance;
}

h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }

/* Основной текст — защита от висячих строк */
p {
  margin-bottom: var(--space-md);
  color: var(--color-text);
  text-wrap: pretty;
  orphans: 3;
  widows: 3;
}

/* Висячая пунктуация (Safari) */
body {
  hanging-punctuation: first allow-end last;
}

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

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

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

.text-uppercase {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.block-label {
  display: inline-block;
  font-size: var(--text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm);
  background: var(--color-light);
  color: var(--color-dark);
}

.block-label--urgent { background: var(--color-blue); color: white; }
.block-label--cases { background: var(--color-red); color: white; }
.block-label--faces { background: #8B5CF6; color: white; }
.block-label--trends { background: var(--color-dark); color: white; }
