/* =====================================================
   NUOVO SISTEMA TIPOGRAFICO — classi (sostituiranno .mm-*)
   ===================================================== */

.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading);
  font-weight: var(--weight-regular);
}

.h1 { font-size: var(--h1-size); line-height: var(--h1-line); }
.h2 { font-size: var(--h2-size); line-height: var(--h2-line); }
.h3 { font-size: var(--h3-size); line-height: var(--h3-line); }
.h4 { font-size: var(--h4-size); line-height: var(--h4-line); }
.h5 { font-size: var(--h5-size); line-height: var(--h5-line); }
.h6 { font-size: var(--h6-size); line-height: var(--h6-line); }

.body-large, .body-medium, .body-small, .caption {
  font-family: var(--font-body);
  font-weight: var(--weight-regular);
}

.body-large  { font-size: var(--body-lg-size); line-height: var(--body-lg-line); }
.body-medium { font-size: var(--body-md-size); line-height: var(--body-md-line); }
.body-small  { font-size: var(--body-sm-size); line-height: var(--body-sm-line); }
.caption     { font-size: var(--caption-size); line-height: var(--caption-line); }

.number-large, .number-medium, .number-small, .number-xs {
  font-family: var(--font-mono);
  font-weight: var(--weight-regular);
  line-height: normal;
  text-box: trim-both cap alphabetic;
}

.number-large  { font-size: var(--num-lg-size); }
.number-medium { font-size: var(--num-md-size); }
.number-small  { font-size: var(--num-sm-size); }
.number-xs     { font-size: var(--num-xs-size); }

/* Varianti */
.h5--underline { text-decoration: underline; }
.h6--medium { font-weight: var(--weight-semibold); }

.body-large--editorial,
.body-medium--editorial,
.body-small--editorial,
.caption--editorial {
  letter-spacing: 0.05em;
}

.body-small--underline { text-decoration: underline; }

.h1--as-h3 { font-size: var(--h3-size); line-height: var(--h3-line); }
.h2--as-h4 { font-size: var(--h4-size); line-height: var(--h4-line); }
.h3--as-h5 { font-size: var(--h5-size); line-height: var(--h5-line); }