/* V65 — Tipografia de raiz
   Títulos/Menus/Botões: Baloo 2, arredondada e divertida, sem bold excessivo.
   Corpo de texto: Nunito, limpa e legível.
*/

:root {
    --font-heading: 'Baloo 2', 'Trebuchet MS', Arial, sans-serif;
    --font-body: 'Nunito', 'Segoe UI', Arial, sans-serif;

    --font-weight-heading: 800;
    --font-weight-menu: 600;
    --font-weight-button: 600;
    --font-weight-body: 400;
}

html {
    font-size: 15px;
}

body {
    font-family: var(--font-body) !important;
    font-weight: var(--font-weight-body) !important;
    font-style: normal !important;
    font-synthesis: none !important;
    line-height: 1.6;
}

/* Corpo de texto */
p,
li,
span,
small,
label,
input,
textarea,
select,
td,
th,
blockquote,
.form-control,
.admin-content,
.main-content,
.content,
.footer,
.footer p,
.footer li,
.footer a:not(.admin-link) {
    font-family: var(--font-body) !important;
    font-style: normal !important;
}

/* Títulos */
h1,
h2,
h3,
h4,
h5,
h6,
.title,
.section-title,
.hero-title,
.card-title,
.page-title,
.admin-title,
.dashboard-title {
    font-family: var(--font-heading) !important;
    font-weight: 800 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    line-height: 1.08;
}

/* Menus e navegação */
nav,
nav a,
nav li,
.nav,
.nav *,
.navbar,
.navbar *,
.nav-menu,
.nav-menu *,
.nav-links,
.nav-links *,
.menu,
.menu *,
.main-menu,
.main-menu *,
.sidebar,
.sidebar *,
.admin-sidebar,
.admin-sidebar *,
.breadcrumb,
.breadcrumb * {
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-menu) !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
}

/* Botões e CTAs */
button,
.btn,
.button,
.cta,
.cta-button,
input[type="submit"],
input[type="button"],
.hero-buttons a,
.admin-actions a,
.action-btn {
    font-family: var(--font-heading) !important;
    font-weight: var(--font-weight-button) !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
}

/* Links normais continuam legíveis com Nunito, exceto os de navegação/botões já cobertos */
a {
    font-style: normal !important;
}

/* Remove inclinação herdada de versões anteriores */
em,
i:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fa-solid):not(.fa-regular):not(.fa-brands),
cite,
address,
var,
dfn {
    font-style: normal !important;
}

/* FontAwesome protegido contra a fonte global */
.fa,
.fas,
.fa-solid,
.fa-regular,
.far,
.fa-brands,
.fab,
[class^="fa-"],
[class*=" fa-"] {
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    line-height: 1 !important;
}

.fa,
.fas,
.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.far,
.fa-regular {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
}

.fab,
.fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
}

/* Tamanho ligeiramente mais equilibrado */
.hero-title {
    font-size: clamp(2.4rem, 5vw, 4.3rem);
}

.section-title {
    font-size: clamp(1.8rem, 3vw, 2.6rem);
}

nav a,
.nav-links a,
.menu a,
.btn,
button {
    font-size: 1rem;
}

@media (max-width: 768px) {
    html {
        font-size: 14.5px;
    }

    .hero-title {
        font-size: clamp(2.1rem, 10vw, 3rem);
    }
}


/* V69 title bold correction */
h1,
h2,
h3,
h4,
h5,
h6,
.title,
.section-title,
.hero-title,
.card-title,
.page-title,
.admin-title,
.dashboard-title,
.cta-gradient-section h2 {
    font-family: 'Baloo 2', 'Trebuchet MS', Arial, sans-serif !important;
    font-weight: 800 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    line-height: 1.05 !important;
}

/* Apenas títulos ficam bold; menus e botões mantêm peso médio */
nav,
nav a,
.navbar *,
.nav-menu *,
.nav-links *,
.menu *,
.main-menu *,
button,
.btn,
.button,
.cta,
.cta-button,
input[type="submit"],
input[type="button"] {
    font-weight: 500 !important;
}
