:root {
    --dommino-fonte-padrao: "Poppins", sans-serif;
}

html,
body {
    font-family: var(--dommino-fonte-padrao) !important;
}

body,
button,
input,
select,
textarea,
label,
table,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
small,
strong,
.btn,
.form-control,
.form-select,
.card,
.card-title,
.card-body,
.card-header,
.dropdown-menu,
.dropdown-item,
.navbar,
.sidebar,
.sidebar-content,
.sidebar-wrapper,
.sidebar .nav p,
.sidebar .nav span,
.sidebar .text-section,
.sidebar .sub-item,
.main-panel,
.main-header,
.page-inner,
.modal,
.alert,
.badge {
    font-family: var(--dommino-fonte-padrao) !important;
}

.logo-header[data-background-color] .btn-toggle,
.logo-header[data-background-color] {
    color: #494949 !important;
}

.table,
.table thead,
.table tbody,
.table tr,
.table th,
.table td,
.table span {
    font-family: var(--dommino-fonte-padrao) !important;
}

/*
 * Adiciona automaticamente um asterisco aos labels
 * cujos campos são obrigatórios.
 */
.mb-3:has(> input[required]) > .form-label::after,
.mb-3:has(> select[required]) > .form-label::after,
.mb-3:has(> textarea[required]) > .form-label::after {
    content: " *";
    color: var(--bs-danger);
    font-weight: 600;
}

/*
 * Não mostra o marcador quando o campo estiver
 * explicitamente identificado como opcional.
 */
.mb-3.campo-opcional > .form-label::after {
    content: none;
}

/*
 * Oculta o asterisco visual em formulários específicos,
 * mantendo a validação required funcionando normalmente.
 */
.formulario-sem-indicador-obrigatorio
.mb-3:has(> input[required])
> .form-label::after,
.formulario-sem-indicador-obrigatorio
.mb-3:has(> select[required])
> .form-label::after,
.formulario-sem-indicador-obrigatorio
.mb-3:has(> textarea[required])
> .form-label::after {
    content: none;
}