 

.blog-grid {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    max-width: 1400px;
    margin: auto;
}

/* CARD */
.blogcard {
    background: var(--card-bg);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
    padding-bottom: 16px;
    transition: transform 0.2s ease;
    border: 1px solid var(--text-color);
}

.blogcard:hover {
    transform: translateY(-4px);
}

/* IMAGE (same size for all) */
.blogcard img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}

/* TITLE */
.blogcard-title { 
    margin-left: 16px;
    margin-right: 16px; 
    cursor: pointer;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: all 0.3s ease;
}

.blogcard-title.expanded {
    white-space: normal;
}

/* DESCRIPTION */
.blogcard-description {
    margin: 0 16px;
    cursor: pointer;

    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.blogcard-description.expanded {
    max-height: 500px;
    /* large enough for content */
    margin-top: 8px;
}
.blogcard a {
    margin-left: 16px;
}