/**
 * CoreBase Design System — Typography
 */

body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: var(--cb-text-base);
    font-weight: var(--cb-font-normal);
    line-height: var(--cb-leading-normal);
    color: var(--cb-text-primary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, .cb-h1 {
    font-size: var(--cb-text-xl);
    font-weight: var(--cb-font-semibold);
    line-height: var(--cb-leading-tight);
    letter-spacing: -0.02em;
    color: var(--cb-text-primary);
    margin: 0 0 var(--cb-space-4);
}

h2, .cb-h2 {
    font-size: var(--cb-text-lg);
    font-weight: var(--cb-font-semibold);
    line-height: var(--cb-leading-tight);
    color: var(--cb-text-primary);
    margin: 0 0 var(--cb-space-3);
}

h3, .cb-h3 {
    font-size: var(--cb-text-base);
    font-weight: var(--cb-font-semibold);
    line-height: var(--cb-leading-tight);
    color: var(--cb-text-primary);
    margin: 0 0 var(--cb-space-2);
}

h4, .cb-h4 {
    font-size: var(--cb-text-sm);
    font-weight: var(--cb-font-semibold);
    color: var(--cb-text-primary);
    margin: 0 0 var(--cb-space-2);
}

p {
    margin: 0 0 var(--cb-space-3);
    color: var(--cb-text-secondary);
}

.cb-text-xs { font-size: var(--cb-text-xs); }
.cb-text-sm { font-size: var(--cb-text-sm); }
.cb-text-base { font-size: var(--cb-text-base); }
.cb-text-lg { font-size: var(--cb-text-lg); }
.cb-text-xl { font-size: var(--cb-text-xl); }
.cb-text-2xl { font-size: var(--cb-text-2xl); }

.cb-text-primary { color: var(--cb-text-primary); }
.cb-text-secondary { color: var(--cb-text-secondary); }
.cb-text-tertiary { color: var(--cb-text-tertiary); }
.cb-text-accent { color: var(--cb-accent); }
.cb-text-success { color: var(--cb-success); }
.cb-text-warning { color: var(--cb-warning); }
.cb-text-danger { color: var(--cb-danger); }

.cb-font-normal { font-weight: var(--cb-font-normal); }
.cb-font-medium { font-weight: var(--cb-font-medium); }
.cb-font-semibold { font-weight: var(--cb-font-semibold); }
.cb-font-bold { font-weight: var(--cb-font-bold); }

.cb-label {
    display: block;
    font-size: var(--cb-text-xs);
    font-weight: var(--cb-font-medium);
    color: var(--cb-text-secondary);
    margin-bottom: var(--cb-space-1);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.cb-eyebrow {
    font-size: var(--cb-text-xs);
    font-weight: var(--cb-font-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--cb-accent);
    margin: 0 0 var(--cb-space-1);
}

.cb-page-title {
    font-size: var(--cb-text-xl);
    font-weight: var(--cb-font-semibold);
    letter-spacing: -0.02em;
    color: var(--cb-text-primary);
    margin: 0 0 var(--cb-space-2);
}

.cb-page-subtitle {
    font-size: var(--cb-text-sm);
    color: var(--cb-text-secondary);
    margin: 0 0 var(--cb-space-5);
}
