/* title/big */
h1 {
  color: var(--core-black, #2C282F);
  font-family: var(--font-sans-inter, "Inter", sans-serif);
  font-size: var(--text-2xl, 24px);
  font-style: normal;
  font-weight: var(--font-semibold, 600);
  line-height: var(--leading-2xl, 32px);
}

/* title/normal */
h2 {
  color: var(--core-black, #2C282F);
  font-family: var(--font-sans-inter, "Inter", sans-serif);
  font-size: var(--text-xl, 20px);
  font-style: normal;
  font-weight: var(--font-semibold, 600);
  line-height: var(--leading-xl, 28px);
}

/* title/small */
h3 {
  color: var(--core-black, #2C282F);
  font-family: var(--font-sans-inter, "Inter", sans-serif);
  font-size: 17px;
  font-style: normal;
  font-weight: var(--font-semibold, 600);
  line-height: var(--leading-lg, 24px);
}

/* paragraph/normal */
p {
  color: var(--core-black, #2C282F);
  font-family: var(--font-sans-inter, "Inter", sans-serif);
  font-size: var(--text-base, 16px);
  font-style: normal;
  font-weight: var(--font-normal, 400);
  line-height: var(--leading-lg, 24px);
}

/* Applica margin-top solo ai paragrafi seguiti da altri paragrafi */
p + p {
  --paragraph-gap: 8px;
  margin-top: var(--paragraph-gap);
}

/* paragraph/small
 *
 * `:where()` azzera la specificità del selettore, quindi questa regola pesa
 * (0,0,1) — come un default di elemento — e non (0,1,1). Senza `:where()` il
 * selettore batteva le utility `leading-*` e `tracking-*`, che restavano scritte
 * nel markup senza alcun effetto e senza errore (LIB-2953).
 *
 * Le tre dichiarazioni restano volutamente duplicate rispetto alla utility
 * `.text-sm`: `v-small` aggiunge la classe a runtime, quindi il JIT di Tailwind
 * può non generare `.text-sm` e questa regola è l'unico default disponibile.
 */
p:where(.text-sm) {
  font-size: var(--text-sm, 14px);
  line-height: var(--leading-sm, 18px);
  /* Non esiste un token di letter-spacing: il valore è deliberatamente
   * hardcoded, in attesa di un token in Figma. */
  letter-spacing: 0.07px;
}
