/* One large, two small layout */
.post-list.one-large-two-small .large-post {
    margin-bottom: 20px;
}

.post-list.one-large-two-small .small-posts {
    display: flex;
    gap: 20px;
    /* Safari flexbox fixes */
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    overflow: hidden;
}

.post-list.one-large-two-small .small-posts > div {
    flex: 1;
    /* Safari flexbox fixes */
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 0%;
    flex: 1 1 0%;
    min-width: 0; /* Prevents flex items from overflowing */
    max-width: calc(50% - 10px); /* Ensures items don't exceed container */
}

.post-list.one-large-two-small .small-posts .post-title {
    font-size: 16px;
    line-height: 1.3;
}

/* Safari image containment fixes */
.post-list.one-large-two-small .large-post img,
.post-list.one-large-two-small .small-posts img {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
    object-fit: cover;
    /* Safari specific fixes */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

.post-list.one-large-two-small .large-post .image-container,
.post-list.one-large-two-small .small-posts .image-container {
    width: 100%;
    overflow: hidden;
    position: relative;
}

/* Safari mobile specific fixes */
@media (max-width: 768px) {
    .post-list.one-large-two-small .small-posts {
        flex-direction: column;
        gap: 15px;
    }
    
    .post-list.one-large-two-small .small-posts > div {
        max-width: 100%;
        flex: none;
    }
}
