.blog-catalog {
    max-width: 1200px;
    margin: 0 auto;
    padding: 10rem 20px;
}

/* The Grid Container */
.blog-grid {
    display: grid;
    /* This single line handles responsiveness automatically */
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); 
    gap: 30px; /* Space between cards */
    margin-top: 40px;
}

/* The Individual Cards */
.blog-card {
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
}

.blog-head {
color: rgb(1, 1, 68);
}

.blog-card img {
    width: 100%;
    height: 220px;
    object-fit: cover; /* Prevents image distortion */
}

.card-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.card-content h2 {
    font-size: 1.4rem;
    margin: 10px 0;
    color: #333;
}