/* TypographyStyles.css - Typography scale system */

:root {
    --unb-font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --unb-font-size: 15px;
    --unb-font-weight: 400;
    --unb-line-height: 1.5;

    --unb-font-size-caption: 0.75rem;
    --unb-font-size-label: 0.875rem;
    --unb-font-size-body: 1rem;
    --unb-font-size-heading: 1.25rem;
    --unb-font-size-title: 1.5rem;
    --unb-font-size-display: 2rem;
}

/* Base typography */
body {
    font-family: var(--unb-font-family);
    font-size: var(--unb-font-size);
    line-height: var(--unb-line-height);
    font-weight: var(--unb-font-weight);
}

/* Scale classes */
.UnB-Caption,
.UnB-Typography--caption {
    font-size: var(--unb-font-size-caption);
    line-height: 1.4;
    font-weight: 400;
}

.UnB-Label,
.UnB-Typography--label {
    font-size: var(--unb-font-size-label);
    line-height: 1.4;
    font-weight: 500;
}

.UnB-Body,
.UnB-Typography--body {
    font-size: var(--unb-font-size-body);
    line-height: 1.6;
    font-weight: 400;
}

.UnB-Heading,
.UnB-Typography--heading {
    font-size: var(--unb-font-size-heading);
    line-height: 1.25;
    font-weight: 600;
}

.UnB-Title,
.UnB-Typography--title {
    font-size: var(--unb-font-size-title);
    line-height: 1.2;
    font-weight: 700;
}

.UnB-Display,
.UnB-Typography--display {
    font-size: var(--unb-font-size-display);
    line-height: 1.1;
    font-weight: 700;
}

/* Heading elements */
h1, .UnB-H1 {
    font-size: var(--unb-font-size-display);
    line-height: 1.1;
    font-weight: 700;
}

h2, .UnB-H2 {
    font-size: var(--unb-font-size-title);
    line-height: 1.2;
    font-weight: 700;
}

h3, .UnB-H3 {
    font-size: var(--unb-font-size-heading);
    line-height: 1.25;
    font-weight: 600;
}

h4, .UnB-H4 {
    font-size: var(--unb-font-size-label);
    line-height: 1.4;
    font-weight: 600;
}

h5, .UnB-H5 {
    font-size: var(--unb-font-size-body);
    line-height: 1.4;
    font-weight: 600;
}

h6, .UnB-H6 {
    font-size: var(--unb-font-size-caption);
    line-height: 1.4;
    font-weight: 600;
}

/* Text utilities */
.UnB-Typography--truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.UnB-Typography--clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.UnB-Typography--clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.UnB-Typography--uppercase {
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.UnB-Typography--lowercase {
    text-transform: lowercase;
}

.UnB-Typography--capitalize {
    text-transform: capitalize;
}

/* Text colors */
.UnB-Typography--primary {
    color: var(--unb-text-primary, #e8e8f0);
}

.UnB-Typography--secondary {
    color: var(--unb-text-secondary, rgba(232, 232, 240, 0.7));
}

.UnB-Typography--muted {
    color: var(--unb-text-muted, rgba(232, 232, 240, 0.5));
}

.UnB-Typography--accent {
    color: var(--unb-text-accent, #64b5f6);
}

.UnB-Typography--success {
    color: var(--unb-text-success, #81c784);
}

.UnB-Typography--warning {
    color: var(--unb-text-warning, #ffb74d);
}

.UnB-Typography--error {
    color: var(--unb-text-error, #e57373);
}

/* Text alignment */
.UnB-Text--start { text-align: start; }
.UnB-Text--end { text-align: end; }
.UnB-Text--center { text-align: center; }

/* Selection */
::selection {
    background-color: var(--unb-selection-bg, rgba(100, 181, 246, 0.3));
    color: var(--unb-text-primary, #e8e8f0);
}
