/* 
 * ========================================================================
 * DESIGN SYSTEM - TOKENS TIPOGRÁFICOS & REGRAS
 * ========================================================================
 */

:root {
    /* FAMÍLIAS TIPOGRÁFICAS */
    --ca-font-primary: 'Inter', 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --ca-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --ca-font-script: 'Great Vibes', 'Brush Script MT', cursive;
    --ca-font-mono: 'JetBrains Mono', 'SFMono-Regular', Consolas, Monaco, monospace;

    /* ESCALA DE TAMANHOS (FONT-SIZE) */
    --ca-text-xs: 0.75rem;    /* 12px */
    --ca-text-sm: 0.875rem;   /* 14px */
    --ca-text-md: 1rem;       /* 16px (Base) */
    --ca-text-lg: 1.125rem;   /* 18px */
    --ca-text-xl: 1.25rem;    /* 20px */
    --ca-text-2xl: 1.5rem;    /* 24px */
    --ca-text-3xl: 1.875rem;  /* 30px */
    --ca-text-4xl: 2.25rem;   /* 36px */
    --ca-text-5xl: 3rem;      /* 48px */
    --ca-text-6xl: 3.75rem;   /* 60px */
    --ca-text-7xl: 4.5rem;    /* 72px */

    /* PESOS (FONT-WEIGHT) */
    --ca-weight-light: 300;
    --ca-weight-regular: 400;
    --ca-weight-medium: 500;
    --ca-weight-semibold: 600;
    --ca-weight-bold: 700;
    --ca-weight-black: 900;

    /* ALTURA DAS LINHAS (LINE-HEIGHT) */
    --ca-line-none: 1;
    --ca-line-tight: 1.1;     
    --ca-line-snug: 1.3;      
    --ca-line-normal: 1.5;    
    --ca-line-relaxed: 1.75;  
    --ca-line-loose: 2;

    /* ESPAÇAMENTO ENTRE LETRAS (LETTER-SPACING) */
    --ca-tracking-tighter: -0.05em;
    --ca-tracking-tight: -0.025em;
    --ca-tracking-normal: 0em;
    --ca-tracking-wide: 0.025em;
    --ca-tracking-wider: 0.05em;
    --ca-tracking-widest: 0.1em;      
    --ca-tracking-mega: 0.2em;        
}

/* ========================================================================
 * APLICAÇÃO BASE (MOBILE-FIRST)
 * ========================================================================
 * 320px até 767px
 */

/* HEROS / GRANDES TÍTULOS */
h1, .ca-hero-title {
    font-family: var(--ca-font-display, serif) !important;
    font-size: 38px !important;
    line-height: var(--ca-line-tight) !important;
    font-weight: var(--ca-weight-bold) !important;
    letter-spacing: var(--ca-tracking-tight) !important;
}

/* H2 / TÍTULOS DE SEÇÃO */
h2, .ca-title, .sol-title-main {
    font-family: var(--ca-font-display, serif) !important;
    font-size: 28px !important;
    line-height: var(--ca-line-snug) !important;
    font-weight: var(--ca-weight-bold) !important;
    letter-spacing: var(--ca-tracking-normal) !important;
    margin-bottom: 20px !important;
}

/* H3 / TÍTULOS DE CARDS E SUBSEÇÕES */
h3, .ca-card-title, .oa-segment-title, .sol-segment-title, .sol-time-title {
    font-family: var(--ca-font-primary, sans-serif) !important;
    font-size: var(--ca-text-xl) !important;
    line-height: var(--ca-line-snug) !important;
    font-weight: var(--ca-weight-semibold) !important;
    letter-spacing: var(--ca-tracking-normal) !important;
}

/* H4 / MENORES DESTAQUES */
h4 {
    font-family: var(--ca-font-primary, sans-serif) !important;
    font-size: var(--ca-text-lg) !important;
    line-height: var(--ca-line-snug) !important;
    font-weight: var(--ca-weight-medium) !important;
}

/* TEXTOS / PARÁGRAFOS GERAIS */
p, .ca-card-desc, .oa-segment-text, .sol-segment-desc, .sol-text-main {
    font-family: var(--ca-font-primary, sans-serif) !important;
    font-size: 15px !important;
    line-height: var(--ca-line-normal) !important;
    font-weight: var(--ca-weight-regular) !important;
    letter-spacing: var(--ca-tracking-normal) !important;
}

/* BOTÕES GERAIS */
.ca-btn-primary, .ca-btn-secondary, .sol-cta-btn, .ca-card-cta {
    font-family: var(--ca-font-primary, sans-serif) !important;
    font-size: 13px !important;
    font-weight: var(--ca-weight-bold) !important;
    letter-spacing: var(--ca-tracking-wider) !important;
    text-transform: uppercase !important;
}

/* EYEBROWS (Sobrancelhas) */
.ca-eyebrow, .sol-title-eyebrow, .ca-segmentos-eyebrow {
    font-family: var(--ca-font-primary, sans-serif) !important;
    font-size: 11px !important;
    font-weight: var(--ca-weight-bold) !important;
    letter-spacing: var(--ca-tracking-widest) !important;
    text-transform: uppercase !important;
}

/* MENU E LINKS */
#menu-menu-principal-1 li a, .menu-item a {
    font-family: var(--ca-font-primary, sans-serif) !important;
    font-size: 15px !important;
    font-weight: var(--ca-weight-semibold) !important;
    letter-spacing: var(--ca-tracking-wide) !important;
}

/* FOOTER TEXTOS */
#footer p, #footer .textwidget, #footer a {
    font-family: var(--ca-font-primary, sans-serif) !important;
    font-size: 14px !important;
    line-height: var(--ca-line-normal) !important;
}


/* ========================================================================
 * APLICAÇÃO DESKTOP / TABLET
 * ========================================================================
 */
@media (min-width: 768px) {
    /* Tablet Typography Tweaks */
    h1, .ca-hero-title { font-size: 46px !important; }
    h2, .ca-title, .sol-title-main { font-size: 32px !important; }
}

@media (min-width: 992px) {
    /* HEROS / GRANDES TÍTULOS */
    h1, .ca-hero-title {
        font-size: 56px !important;
        line-height: var(--ca-line-tight) !important;
    }

    /* H2 / TÍTULOS DE SEÇÃO */
    h2, .ca-title, .sol-title-main {
        font-size: var(--ca-text-4xl) !important;
        line-height: var(--ca-line-snug) !important;
        margin-bottom: 24px !important;
    }

    /* H3 / TÍTULOS DE CARDS E SUBSEÇÕES */
    h3, .ca-card-title, .oa-segment-title, .sol-segment-title, .sol-time-title {
        font-size: var(--ca-text-2xl) !important;
    }

    /* H4 / MENORES DESTAQUES */
    h4 {
        font-size: var(--ca-text-xl) !important;
    }

    /* TEXTOS / PARÁGRAFOS GERAIS */
    p, .ca-card-desc, .oa-segment-text, .sol-segment-desc, .sol-text-main {
        font-size: var(--ca-text-md) !important;
        line-height: var(--ca-line-relaxed) !important;
    }

    /* BOTÕES GERAIS */
    .ca-btn-primary, .ca-btn-secondary, .sol-cta-btn, .ca-card-cta {
        font-size: var(--ca-text-sm) !important;
    }

    /* EYEBROWS */
    .ca-eyebrow, .sol-title-eyebrow, .ca-segmentos-eyebrow {
        font-size: var(--ca-text-xs) !important;
    }

    /* MENU DESKTOP */
    #menu-menu-principal-1 li a, .menu-item a {
        font-size: var(--ca-text-sm) !important;
    }

    /* FOOTER TEXTOS */
    #footer p, #footer .textwidget, #footer a {
        font-size: var(--ca-text-sm) !important;
        line-height: var(--ca-line-relaxed) !important;
    }
}