
.modern-post-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Grid Layout */
.modern-post-grid .grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
}

/* Each Grid Item */
.modern-post-grid .grid-item {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.modern-post-grid .grid-item:hover {
    transform: scale(1.03);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* FIXED RATIO IMAGE CONTAINER */
.modern-post-grid .grid-item .image {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%; /* 4:3 aspect ratio */
    overflow: hidden;
    background: #f0f0f0;
}

/* Crop image to container */
.modern-post-grid .grid-item .image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease-in-out;
}

.modern-post-grid .grid-item:hover .image img {
    transform: scale(1.1);
}

/* Post Title */
.modern-post-grid h3 {
    font-size: 1rem;
    margin: 0;
    padding: 12px;
    color: #333;
    text-align: center;
    transition: color 0.3s ease;
}

.modern-post-grid .grid-item:hover h3 {
    color: #e91e63;
}

/* Load More Button */
.modern-post-grid .load-more {
    background: #e91e63;
    color: #fff;
    padding: 12px 24px;
    font-size: 1rem;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
    margin-top: 20px;
}

.modern-post-grid .load-more:hover {
    background: #c2185b;
    transform: scale(1.05);
}
