.bagus-blog-preview {
    background: var(--color-white);
    text-align: center;
    /* Las tarjetas entran con translateX (ver js/blog.js): sin esto ese      */
    /* desplazamiento sobresale del ancho de pantalla en mobile y genera      */
    /* scroll horizontal en toda la página (mismo motivo que trust-bar.css).  */
    overflow-x: hidden;
}

.blog-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin: 48px 0;
    text-align: left;
}

.blog-preview-card {
    display: block;
    text-decoration: none;
    color: var(--color-text-dark);
    /* Estado inicial de la cascada atada al scroll (ver js/blog.js): cada   */
    /* tarjeta entra desde un lado distinto, no todas juntas ni con el       */
    /* mismo wipe/enfoque que testimonials o manifiesto-programa.            */
    opacity: 0;
    will-change: opacity, transform;
}

.blog-preview-thumb {
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 16px;
}

.blog-preview-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog-preview-card h3 {
    font-size: 22px;
    margin: 0 0 8px;
}

.blog-preview-card p {
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(43, 43, 43, .7);
    margin: 0;
}

.blog-preview-empty {
    font-family: var(--font-body);
    color: rgba(43, 43, 43, .6);
    margin-bottom: 32px;
}

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

@media (prefers-reduced-motion: reduce) {
    .blog-preview-card {
        opacity: 1;
        transform: none;
    }
}
