/* ============================
   Fichier : blog.css
   Description : cartes d'articles du blog (composant ProjectCard du kit),
   partagées par l'accueil et blog.html.
   ============================ */

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
}

.blog-grid.is-empty {
    grid-template-columns: 1fr;
}

/* Carte entière cliquable, même survol que les cartes projet */
.blog-card {
    text-decoration: none;
    transition:
        transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 0.6s cubic-bezier(0.22, 1, 0.36, 1),
        border-color 0.4s ease;
}

.blog-card:hover {
    transform: translateY(-6px);
    border-color: var(--border-strong);
    box-shadow: 0 32px 56px -30px rgba(23, 21, 58, 0.5);
}

.blog-card:focus-visible {
    outline: 2px solid var(--focus);
    outline-offset: 4px;
}

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

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

.blog-card .rc-btn--text svg {
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.blog-card:hover .rc-btn--text svg {
    transform: translateX(4px);
}

.blog-card .rc-project__thumb img {
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.blog-card:hover .rc-project__thumb img {
    transform: scale(1.04);
}

/* Vignette par défaut (post sans image) : ciel + aura et une étoile or */
.blog-card__sky {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 50% 50%, rgba(107, 75, 163, 0.45), transparent 65%),
        linear-gradient(180deg, var(--nuit), var(--indigo));
}

.blog-card__sky svg {
    width: 36px;
    height: 36px;
    fill: var(--or);
}

/* Aucun article */
.blog-empty {
    display: grid;
    justify-items: center;
    gap: var(--space-3);
    padding: var(--space-7) var(--space-5);
    border-radius: var(--radius-md);
    background: var(--surface-sunken);
    text-align: center;
}

.blog-empty__dino {
    width: auto;
    height: 72px;
}

.blog-empty h3 {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 20px;
}

.blog-empty p {
    margin: 0 0 var(--space-2);
    max-width: 44ch;
    color: var(--text-muted);
}

@media (max-width: 1024px) {
    .blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .blog-card,
    .blog-card:hover,
    .blog-card:hover .rc-project__thumb img {
        transform: none;
    }
}
