/* VistaCMS — Blog (front-office) */

.vcb-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 26px;
}
.vcb-card {
    background: #fff;
    border: 1px solid #e6e8f0;
    border-radius: 14px;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
}
.vcb-card:hover { box-shadow: 0 10px 30px rgba(15, 20, 40, .1); transform: translateY(-2px); }
.vcb-card-link { display: block; color: inherit; text-decoration: none; }
.vcb-cover { aspect-ratio: 16/9; overflow: hidden; background: #eef0f5; }
.vcb-cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vcb-card-body { padding: 18px 20px 20px; }
.vcb-title { margin: 0 0 8px; font-size: 19px; line-height: 1.3; }
.vcb-excerpt { margin: 0 0 10px; color: #4a5060; font-size: 14.5px; line-height: 1.55; }
.vcb-meta { margin: 0; font-size: 12.5px; color: #8a90a0; }

/* --- Article --- */
.vcb-article { max-width: 780px; }
.vcb-back { margin: 0 0 14px; font-size: 14px; }
.vcb-back a { color: inherit; }
.vcb-article-title { margin: 0 0 8px; font-size: clamp(26px, 4vw, 40px); line-height: 1.15; }
.vcb-cover-full { width: 100%; height: auto; border-radius: 14px; margin: 20px 0; display: block; }
.vcb-content { font-size: 17px; line-height: 1.75; }
.vcb-content h1, .vcb-content h2, .vcb-content h3, .vcb-content h4 { line-height: 1.3; }
.vcb-content img { max-width: 100%; height: auto; }
.vcb-content blockquote {
    margin: 1.4em 0;
    padding: 4px 20px;
    border-left: 3px solid #c7cbe0;
    color: #4a5060;
}

/* --- Partage --- */
.vcb-share {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid #e6e8f0;
}
.vcb-share-label { font-size: 13.5px; color: #8a90a0; }
.vcb-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid #e6e8f0;
    background: #fff;
    color: #1f2430;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    cursor: pointer;
    transition: background .15s, color .15s;
}
.vcb-share-btn:hover { background: #1f2430; color: #fff; }
.vcb-copy { font-size: 16px; }

@media (max-width: 640px) {
    .vcb-list { grid-template-columns: 1fr; }
}
