/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

/* === Headings === */
h1, h2, h3, h4, h5, h6 {
    font-weight: var(--font-weight-bold);
    line-height: 1.3;
    margin-bottom: var(--space-md);
    color: var(--text-primary);
    letter-spacing: 0.5px;
}

h1 {
    font-size: var(--font-size-5xl);
    font-weight: var(--font-weight-black);
    letter-spacing: 2px;
    /* text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); */
}

h2 {
    font-size: var(--font-size-4xl);
    font-weight: var(--font-weight-black);
    letter-spacing: 1.5px;
}

h3 {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    letter-spacing: 1px;
}

h4 {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
}

h5 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-medium);
}

h6 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
}

/* === Paragraphs === */
p {
    margin-bottom: var(--space-md);
    line-height: 1.8;
    color: var(--text-secondary);
}

/* === Text Utilities === */
.text-large {
    font-size: var(--font-size-lg);
}

.text-small {
    font-size: var(--font-size-sm);
}

.text-xs {
    font-size: var(--font-size-xs);
}

/* === Font Weights === */
.font-light {
    font-weight: var(--font-weight-light);
}

.font-normal {
    font-weight: var(--font-weight-normal);
}

.font-medium {
    font-weight: var(--font-weight-medium);
}

.font-bold {
    font-weight: var(--font-weight-bold);
}

.font-black {
    font-weight: var(--font-weight-black);
}

/* === Text Colors === */
.text-primary {
    color: var(--text-primary);
}

.text-secondary {
    color: var(--text-secondary);
}

.text-muted {
    color: var(--text-muted);
}

.text-accent {
    color: var(--text-accent);
}

.text-highlight {
    color: var(--text-highlight);
}

.text-gold {
    color: var(--color-gold);
}

.text-pink {
    color: var(--color-primary-pink);
}

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

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

/* === Letter Spacing === */
.tracking-tight {
    letter-spacing: -0.5px;
}

.tracking-normal {
    letter-spacing: 0;
}

.tracking-wide {
    letter-spacing: 1px;
}

.tracking-wider {
    letter-spacing: 2px;
}

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

.lowercase {
    text-transform: lowercase;
}

.capitalize {
    text-transform: capitalize;
}

/* === Special Text Effects === */
.gradient-text {
    background: var(--gradient-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
}

.gradient-text-pink {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
}

.text-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.text-glow {
    text-shadow: 0 0 20px currentColor;
}

/* === Line Height === */
.leading-none {
    line-height: 1;
}

.leading-tight {
    line-height: 1.25;
}

.leading-normal {
    line-height: 1.5;
}

.leading-relaxed {
    line-height: 1.75;
}

.leading-loose {
    line-height: 2;
}