/**
 * Typography Styles
 * ==================
 */

/* Headings */
.heading-1 {
    font-size: var(--text-6xl);
    font-weight: 800;
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tighter);
}

.heading-2 {
    font-size: var(--text-4xl);
    font-weight: 700;
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
}

.heading-3 {
    font-size: var(--text-2xl);
    font-weight: 700;
    line-height: var(--leading-snug);
    letter-spacing: var(--tracking-tight);
}

.heading-4 {
    font-size: var(--text-xl);
    font-weight: 600;
    line-height: var(--leading-snug);
}

.heading-5 {
    font-size: var(--text-lg);
    font-weight: 600;
    line-height: var(--leading-snug);
}

.heading-6 {
    font-size: var(--text-md);
    font-weight: 600;
    line-height: var(--leading-normal);
}

/* Body Text */
.body-large {
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
}

.body-default {
    font-size: var(--text-base);
    line-height: var(--leading-normal);
}

.body-small {
    font-size: var(--text-sm);
    line-height: var(--leading-normal);
}

/* Labels & Captions */
.label {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--text-secondary);
}

.caption {
    font-size: var(--text-xs);
    color: var(--text-tertiary);
    letter-spacing: var(--tracking-wide);
}

.overline {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-widest);
    color: var(--text-tertiary);
}

/* Arabic Typography */
.text-arabic {
    font-family: var(--font-arabic);
    direction: rtl;
    line-height: var(--leading-relaxed);
}

.text-arabic-title {
    font-family: var(--font-arabic);
    font-size: var(--text-2xl);
    font-weight: 700;
    direction: rtl;
    color: var(--accent-primary);
}

.text-arabic-subtitle {
    font-family: var(--font-arabic);
    font-size: var(--text-lg);
    direction: rtl;
    color: var(--text-secondary);
}

.text-arabic-small {
    font-family: var(--font-arabic);
    font-size: var(--text-base);
    direction: rtl;
    color: var(--text-tertiary);
}

/* Text Colors */
.text-primary { color: var(--text-primary); }
.text-secondary { color: var(--text-secondary); }
.text-tertiary { color: var(--text-tertiary); }
.text-muted { color: var(--text-muted); }
.text-accent { color: var(--accent-primary); }
.text-success { color: var(--success); }
.text-warning { color: var(--warning); }
.text-danger { color: var(--danger); }

/* Text Alignment */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

/* Text Transform */
.uppercase { text-transform: uppercase; }
.capitalize { text-transform: capitalize; }

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

.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

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

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