/*
 * Fonte padrão global da biblioteca: Google Sans
 *
 * Observação:
 * - As fontes são servidas a partir do MinIO (paiol.idz.one)
 * - Mantemos variável (normal/italic) para cobrir múltiplos pesos/estilos
 */

@font-face {
  font-family: "Google Sans";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://paiol.idz.one/estaticos/GoogleSans/GoogleSans-VariableFont_GRAD,opsz,wght.ttf") format("truetype");
}

@font-face {
  font-family: "Google Sans";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("https://paiol.idz.one/estaticos/GoogleSans/GoogleSans-Italic-VariableFont_GRAD,opsz,wght.ttf")
    format("truetype");
}

/*
 * Default global
 * - Inclui fallbacks para sistemas comuns.
 * - Forçamos herança em elementos de formulário, pois alguns frameworks
 *   aplicam font-family própria.
 */
:root {
  --eli-font-family: "Google Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial,
    "Noto Sans", "Liberation Sans", sans-serif;

  /*
   * Vuetify v3 usa `--v-font-family` como fonte base (aplicada em `.v-application`).
   * Ao mapear para a fonte da lib, garantimos que componentes Vuetify renderizados
   * na aplicação usem Google Sans quando o CSS da lib for carregado.
   */
  --v-font-family: var(--eli-font-family);
}

html,
body {
  font-family: var(--eli-font-family);
}

/*
 * Component-scope fallback:
 *
 * Em aplicações consumidoras, é comum existir um `body { font-family: ... }`
 * carregado DEPOIS do CSS da lib, o que sobrescreve a fonte global acima.
 *
 * Para garantir que os componentes da biblioteca usem a fonte padrão,
 * aplicamos o font-family também em qualquer elemento com classe
 * namespaced `eli-` (ex.: `.eli-tabela`, `.eli-botao`, etc.).
 */
:where([class^="eli-"], [class*=" eli-"]) {
  font-family: var(--eli-font-family);
  /*
   * Vuetify v3 usa `--v-font-family` (aplicado em `.v-application`) como fonte
   * padrão. Ao definir aqui, garantimos que qualquer componente Vuetify
   * renderizado dentro de um wrapper `eli-*` use Google Sans.
   */
  --v-font-family: var(--eli-font-family);
}

button,
input,
select,
textarea {
  font-family: inherit;
}
