/* ====================================================================
   Tipografia — utilitários espelhando os Text Styles do Figma
   ====================================================================
   Cada classe representa um Text Style do Figma.
   Aplicar apenas a propriedade tipográfica; cor/margin/layout
   ficam nos componentes individuais.
   ==================================================================== */

/* ----- Display ----- */
.t-display-48 {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-display-48);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
}

/* ----- Headings ----- */
.t-heading-xx-large {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-heading-xx-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
}

.t-heading-x-large {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-heading-x-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-2);
}

.t-heading-large {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-heading-large);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
}

.t-heading-medium {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-heading-medium);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
}

.t-heading-small {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-heading-small);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
}

.t-heading-x-small {
    font-family: var(--semantics-typography-family-poppins);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-heading-x-small);
    line-height: var(--semantics-typography-baseline-tight);
    letter-spacing: var(--semantics-typography-tracking-tight-1);
}

/* ----- Body ----- */
.t-body-18 {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-regular);
    font-size: var(--semantics-typography-body-18);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

.t-body-16 {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-regular);
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

.t-body-16-semibold {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-semibold);
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

.t-body-16-bold {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-bold);
    font-size: var(--semantics-typography-body-16);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

.t-body-14 {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-regular);
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

.t-body-14-semibold {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-semibold);
    font-size: var(--semantics-typography-body-14);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

/* ----- Labels ----- */
.t-label-14-semibold {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-semibold);
    font-size: var(--semantics-typography-label-14);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

.t-label-12-semibold {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-semibold);
    font-size: var(--semantics-typography-label-12);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

.t-label-10 {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-regular);
    font-size: var(--semantics-typography-label-10);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}

.t-label-10-semibold {
    font-family: var(--semantics-typography-family-inter);
    font-weight: var(--semantics-typography-weight-semibold);
    font-size: var(--semantics-typography-label-10);
    line-height: var(--semantics-typography-baseline-normal);
    letter-spacing: var(--semantics-typography-tracking-none);
}
