/* ============================================
   TIPOGRAFIA GLÓRIA MULTI-SERVICE
   Sistema de Fontes e Hierarquia Tipográfica
   ============================================ */

/* Importação de Fontes do Google */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&family=Poppins:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/* ========== VARIÁVEIS DE FONTES ========== */
:root {
    /* Famílias de Fontes */
    --font-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-body: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    
    /* Tamanhos de Fonte Base */
    --font-size-xs: 0.75rem;      /* 12px */
    --font-size-sm: 0.875rem;     /* 14px */
    --font-size-base: 1rem;       /* 16px */
    --font-size-lg: 1.125rem;     /* 18px */
    --font-size-xl: 1.25rem;      /* 20px */
    --font-size-2xl: 1.5rem;      /* 24px */
    --font-size-3xl: 1.875rem;    /* 30px */
    --font-size-4xl: 2.25rem;     /* 36px */
    --font-size-5xl: 3rem;        /* 48px */
    --font-size-6xl: 3.75rem;     /* 60px */
    --font-size-7xl: 4.5rem;      /* 72px */
    
    /* Alturas de Linha */
    --line-height-tight: 1.25;
    --line-height-snug: 1.375;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;
    --line-height-loose: 2;
    
    /* Espaçamento entre Letras */
    --letter-spacing-tighter: -0.05em;
    --letter-spacing-tight: -0.025em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: 0.025em;
    --letter-spacing-wider: 0.05em;
    --letter-spacing-widest: 0.1em;
}

/* ========== RESET E BASE ========== */
* {
    font-family: var(--font-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    line-height: var(--line-height-normal);
    
    font-weight: 400;
    text-rendering: optimizeLegibility;
}

/* ========== CABEÇALHOS ========== */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: var(--line-height-tight);
    margin-top: 0;
    margin-bottom: 0.5em;
    
}

h1 {
    font-size: var(--font-size-5xl);
    font-weight: 800;
    letter-spacing: var(--letter-spacing-tight);
    line-height: 1.1;
}

h2 {
    font-size: var(--font-size-4xl);
    font-weight: 700;
    letter-spacing: var(--letter-spacing-tight);
}

h3 {
    font-size: var(--font-size-3xl);
    font-weight: 600;
}

h4 {
    font-size: var(--font-size-2xl);
    font-weight: 600;
}

h5 {
    font-size: var(--font-size-xl);
    font-weight: 600;
}

h6 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
}

/* ========== TEXTO CORPORATIVO ========== */
.hero-title {
    font-family: var(--font-heading);
    font-size: var(--font-size-6xl);
    font-weight: 800;
    line-height: 1;
    letter-spacing: var(--letter-spacing-tighter);
    
}

.hero-title .highlight {
    font-weight: 800;
    
    position: relative;
    display: inline-block;
}

.hero-title .highlight::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 8px;
    
    opacity: 0.4;
    z-index: -1;
}

.section-title {
    font-family: var(--font-heading);
    font-size: var(--font-size-4xl);
    font-weight: 700;
    text-align: center;
    margin-bottom: 1rem;
    position: relative;
    padding-bottom: 1rem;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    
    border-radius: 2px;
}

.section-title .highlight {
    
    font-weight: 800;
}

.section-subtitle {
    font-family: var(--font-body);
    font-size: var(--font-size-xl);
    font-weight: 400;
    text-align: center;
    
    margin-bottom: 3rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: var(--line-height-relaxed);
}

/* ========== TEXTO DO CORPO ========== */
p {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
    margin-bottom: 1.5rem;
    
}

.lead {
    font-size: var(--font-size-xl);
    font-weight: 300;
    line-height: var(--line-height-relaxed);
    
}

.small {
    font-size: var(--font-size-sm);
    
}

/* ========== LINKS ========== */
a {
    font-family: var(--font-ui);
    font-weight: 500;
    text-decoration: none;
    
    transition: color 0.2s ease;
}

a:hover {
    color: var(--color-secondary);
}

.nav-link {
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: var(--font-size-base);
    letter-spacing: var(--letter-spacing-wide);
    text-transform: none;
}

/* ========== BOTÕES ========== */
.btn-primary,
.btn-secondary,
.btn-candidate,
.btn-employer,
.btn-login,
.btn-register {
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: var(--font-size-base);
    letter-spacing: var(--letter-spacing-wide);
    text-transform: none;
}

.btn-large {
    font-size: var(--font-size-lg);
    font-weight: 600;
}

/* ========== LOGO E MARCA ========== */
.logo-name {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 1.8rem;
    letter-spacing: var(--letter-spacing-tight);
    
}

.logo-subname {
    font-family: var(--font-ui);
    font-weight: 400;
    font-size: 0.75rem;
    letter-spacing: var(--letter-spacing-wide);
    
    text-transform: uppercase;
}

.footer-logo h3 {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 2rem;
    
    margin: 0;
}

.footer-logo p {
    font-family: var(--font-ui);
    font-weight: 400;
    font-size: 0.9rem;
    
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
    margin: 0;
}

/* ========== MENU E NAVEGAÇÃO ========== */
.nav-menu {
    font-family: var(--font-ui);
}

.nav-link {
    font-weight: 600;
    font-size: var(--font-size-sm);
    letter-spacing: var(--letter-spacing-wide);
}

.dropdown-menu li a {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--font-size-sm);
}

.sidebar-nav li a {
    font-family: var(--font-ui);
    font-weight: 500;
    font-size: var(--font-size-base);
}

/* ========== CARDS E SEÇÕES ========== */
.card-title {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: var(--font-size-xl);
    
}

.card-text {
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
    
}

.value-card h4,
.service-card h3,
.sector-card h4 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: var(--font-size-lg);
    
}

.value-card p,
.service-card p,
.sector-card p {
    font-family: var(--font-body);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-relaxed);
    
}

/* ========== LISTAS ========== */
ul, ol {
    font-family: var(--font-body);
    line-height: var(--line-height-relaxed);
    margin-bottom: 1.5rem;
}

li {
    margin-bottom: 0.5rem;
}

/* ========== FORMULÁRIOS ========== */
label {
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: var(--font-size-sm);
    
    margin-bottom: 0.5rem;
    display: block;
}

input, select, textarea, button {
    font-family: var(--font-ui);
    font-size: var(--font-size-base);
}

input::placeholder,
textarea::placeholder {
    font-family: var(--font-ui);
    font-weight: 400;
    
}

/* ========== FOOTER ========== */
.footer-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: var(--font-size-xl);
    
    margin-bottom: 1.5rem;
}

.footer-links a {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--font-size-sm);
    
}


.contact-item strong {
    font-family: var(--font-ui);
    font-weight: 600;
    font-size: var(--font-size-sm);
    
}

.contact-item p {
    font-family: var(--font-body);
    
}

.copyright {
    font-family: var(--font-ui);
    
}

/* ========== TABELAS ========== */
table {
    font-family: var(--font-ui);
    font-size: var(--font-size-sm);
    width: 100%;
    border-collapse: collapse;
}

th {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: var(--font-size-sm);
    
    text-align: left;
    padding: 1rem;
    border-bottom: 2px solid var(--color-light);
}

td {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: var(--font-size-sm);
    color: var(--color-dark);
    padding: 1rem;
    border-bottom: 1px solid var(--color-light);
}

/* ========== UTILITÁRIOS TIPOGRÁFICOS ========== */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }

.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }
.capitalize { text-transform: capitalize; }

.italic { font-style: italic; }
.underline { text-decoration: underline; }
.line-through { text-decoration: line-through; }

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ========== RESPONSIVIDADE TIPOGRÁFICA ========== */
@media (max-width: 1024px) {
    :root {
        --font-size-5xl: 2.5rem;      /* 40px */
        --font-size-6xl: 3rem;        /* 48px */
    }
    
    .hero-title {
        font-size: var(--font-size-5xl);
    }
    
    .section-title {
        font-size: var(--font-size-3xl);
    }
    
    .section-subtitle {
        font-size: var(--font-size-lg);
    }
}

@media (max-width: 768px) {
    :root {
        --font-size-4xl: 1.875rem;    /* 30px */
        --font-size-5xl: 2.25rem;     /* 36px */
        --font-size-6xl: 2.5rem;      /* 40px */
    }
    
    h1 { font-size: var(--font-size-4xl); }
    h2 { font-size: var(--font-size-3xl); }
    h3 { font-size: var(--font-size-2xl); }
    h4 { font-size: var(--font-size-xl); }
    h5 { font-size: var(--font-size-lg); }
    
    .hero-title {
        font-size: var(--font-size-4xl);
    }
    
    .section-title {
        font-size: var(--font-size-2xl);
    }
    
    .section-subtitle {
        font-size: var(--font-size-base);
    }
    
    p {
        font-size: var(--font-size-sm);
        line-height: var(--line-height-normal);
    }
}

@media (max-width: 480px) {
    :root {
        --font-size-4xl: 1.5rem;      /* 24px */
        --font-size-5xl: 1.875rem;    /* 30px */
    }
    
    .hero-title {
        font-size: var(--font-size-3xl);
    }
    
    .section-title {
        font-size: var(--font-size-xl);
    }
    
    .logo-name {
        font-size: 1.4rem;
    }
    
    .logo-subname {
        font-size: 0.6rem;
    }
}


