/* ============================================================
   utilities.css - Classes utilitaires (couleurs, fontes, liens)
   ============================================================ */

/* ── Couleurs de texte ── */
.text-pourpre        { color: var(--pourpre-700) !important; }
.text-pourpre-accent { color: var(--pourpre-600) !important; }
.text-encre          { color: var(--encre-800) !important; }
.text-encre-muted    { color: var(--encre-600) !important; }
.text-encre-subtle   { color: var(--encre-400) !important; }
.text-papier         { color: var(--papier-50) !important; }
.text-papier-muted   { color: var(--papier-100) !important; }
.text-cuivre         { color: var(--cuivre-500) !important; }

/* ── Fonds ── */
.bg-papier  { background-color: var(--papier-50) !important; }
.bg-pourpre { background-color: var(--pourpre-700) !important; }

/* ── Fontes ── */
.font-display    { font-family: var(--font-display) !important; }
.font-editorial  { font-family: var(--font-editorial) !important; }
.font-sans       { font-family: var(--font-sans) !important; }

/* ── Icônes colorées ── */
.icon-section { color: var(--pourpre-600); }
.icon-cuivre  { color: var(--cuivre-500); }
.icon-pulse   { display: inline-block; } /* Classe conservée, animation supprimée */

/* ── Liens spéciaux ── */
.link-manage {
    font-family: var(--font-sans);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pourpre-700);
    text-decoration: none;
    transition: color 0.2s;
}

.link-manage:hover {
    color: var(--pourpre-600);
}

.link-danger-btn {
    font-family: var(--font-sans);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--pourpre-700);
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    transition: color 0.2s;
}

.link-danger-btn:hover {
    color: var(--pourpre-600);
}

/* ── Pixel de tracking (masqué visuellement) ── */
.matomo-pixel {
    border: 0;
}

/* ── Lien de navigation auth (override byline) ── */
.link-auth {
    color: var(--pourpre-700);
    text-transform: none;
    letter-spacing: normal;
    font-weight: 700;
    text-decoration: none;
}

.link-auth:hover {
    color: var(--pourpre-600);
}

/* ── Texte éditorial déscriptif ── */
.text-editorial {
    font-family: var(--font-editorial);
    color: var(--encre-700);
    line-height: 1.6;
}

.section-label-sm {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.border-subtle-editorial {
    border: 1px solid #d1d5db;
}

.media-cover-72 {
    width: 72px;
    height: 72px;
    object-fit: cover;
}

.media-cover-square {
    object-fit: cover;
    aspect-ratio: 1;
}

.media-cover-landscape {
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

.mw-600 {
    max-width: 600px;
}

.mw-700 {
    max-width: 700px;
}

/* ── Transitions globales pour éléments interactifs ── */
a,
button,
.btn,
.nav-link,
.dropdown-item {
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

/* ── Badges réseaux sociaux ── */
.bg-danger-youtube {
    background-color: #dc2743 !important;
}

.bg-danger-instagram {
    background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af) !important;
    background-color: #dd2a7b !important;
}
