/* ==================== TYPOGRAPHIE ==================== */
body { font-family: var(--font-family-base); font-size: var(--font-size-base); line-height: 1.6; color: var(--gray-dark); }
h1, h2, h3, h4, h5, h6 { font-weight: var(--font-weight-bold); line-height: 1.2; margin-bottom: var(--spacing-md); }
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-bottom: var(--spacing-md); line-height: 1.8; }
p:last-child { margin-bottom: 0; }
ul, ol { margin-bottom: var(--spacing-md); padding-left: var(--spacing-lg); }
li { margin-bottom: var(--spacing-sm); }
a { color: var(--primary-color); text-decoration: none; transition: color var(--transition-duration); }
a:hover { color: var(--primary-dark); text-decoration: underline; }
blockquote { padding-left: var(--spacing-md); border-left: 4px solid var(--primary-color); margin-bottom: var(--spacing-md); font-style: italic; }
code, kbd, pre { font-family: var(--font-family-mono); background-color: var(--gray-light); border-radius: var(--border-radius-sm); padding: 2px 6px; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-uppercase { text-transform: uppercase; }
.text-lowercase { text-transform: lowercase; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
