/* ==========================================================================
   COULEURS DE TEXTE ET DE FOND
   ========================================================================== */
.text-primary    { color: var(--wego-primary) !important; }
.bg-primary      { background-color: var(--wego-primary) !important; }

.text-secondary  { color: var(--wego-secondary) !important; }
.bg-secondary    { background-color: var(--wego-secondary) !important; }

.text-success    { color: var(--wego-success) !important; }
.bg-success      { background-color: var(--wego-success) !important; }

.text-danger     { color: var(--wego-danger) !important; }
.bg-danger       { background-color: var(--wego-danger) !important; }

.text-warning    { color: var(--wego-warning) !important; }
.bg-warning      { background-color: var(--wego-warning) !important; }

.text-info       { color: var(--wego-info) !important; }
.bg-info         { background-color: var(--wego-info) !important; }

.text-dark       { color: var(--wego-dark) !important; }
.bg-dark         { background-color: var(--wego-dark) !important; }

.text-light       { color: var(--wego-light) !important; }
.bg-light         { background-color: var(--wego-light) !important; }

.text-sable       { color: var(--sable-froid) !important; }
.bg-sable         { background-color: var(--sable-froid) !important; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* Base */
body {
    font-family: var(--font-base);
    font-size: var(--font-size-sm);
    line-height: 1.6;
    color: var(--wego-text-color, #2A2A36);
}

/* Titres */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 0.75rem;
}

h1 { font-size: 2rem !important; }
h2 { font-size: 1.75rem !important;; }
h3 { font-size: 1.5rem !important;; }
h4 { font-size: 1.25rem !important;; }
h5 { font-size: 1rem !important;; }
h6 { font-size: 0.875rem !important;; }

/* Textes spécifiques */
.lead {
    font-size: 1.125rem;
    font-weight: 400;
}

.small {
    font-size: 0.875rem;
}

.caption {
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* Responsive typography */
@media (min-width: 768px) {
    h1 { font-size: 2.5rem; }
    h2 { font-size: 2.125rem; }
    h3 { font-size: 1.75rem; }
    h4 { font-size: 1.5rem; }
}

@media (min-width: 1200px) {
    h1 { font-size: 3rem; }
    h2 { font-size: 2.5rem; }
    h3 { font-size: 2rem; }
}

.note-primary {
    background-color: var(--primary-100) !important;
    color: var(--wego-text-color) !important;
}

.note-secondary {
    background-color: var(--secondary-100) !important;
    color: var(--wego-text-color) !important;
}

.note-success {
    background-color: var(--success-100) !important;
    color: var(--wego-text-color) !important;
}

.note-danger {
    background-color: var(--danger-100) !important;
    color: var(--wego-text-color) !important;
}

.note-warning {
    background-color: var(--warning-100) !important;
    color: var(--wego-text-color) !important;
}

.note-info {
    background-color: var(--info-100) !important;
    color: var(--wego-text-color) !important;
}
.note-light {
    background-color: var(--light-100) !important;
    color: var(--wego-text-color);
}
.note-dark {
    background-color: var(--dark-100) !important;
    color: var(--wego-text-color);
}