/* 
* FONTS CSS - Hauzi Landing Page
* Declaração e configuração das fontes
*/

/* Arlon SemiBold Bold */
@font-face {
    font-family: 'Arlon SemiBold';
    src: url('../fonts/ArlonSemiBold-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/* Roboto Regular */
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Roboto Thin */
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/Roboto-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

/* Evitar FOUT (Flash of Unstyled Text) */
html {
    opacity: 1;
    transition: opacity 0.3s ease;
}

html:not(.fonts-loaded) {
    opacity: 0.98; /* Sutilmente esconde o texto até que as fontes carreguem */
}

/* Classes de utilidade para fontes */
.font-heading {
    font-family: 'Arlon SemiBold', 'Roboto', sans-serif;
}

.font-body {
    font-family: 'Roboto', sans-serif;
}

.font-thin {
    font-weight: 100;
}

.font-regular {
    font-weight: 400;
}

.font-bold {
    font-weight: bold;
}

/* Classes de espaçamento de letras (letter-spacing) */
.ls-tight {
    letter-spacing: -0.5px; /* Para títulos grandes, torna texto mais compacto */
}

.ls-tighter {
    letter-spacing: -1px; /* Para títulos muito grandes (h1) */
}

.ls-normal {
    letter-spacing: 0; /* Espaçamento padrão */
}

.ls-wide {
    letter-spacing: 0.5px; /* Melhora legibilidade em textos pequenos */
}

.ls-wider {
    letter-spacing: 1px; /* Para botões e elementos de destaque */
}

.ls-uppercase {
    letter-spacing: 1.5px; /* Para textos em caixa alta */
    text-transform: uppercase;
} 