.posts-container {
    padding: 1rem 0 2rem 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 0.8rem;

    .post {
        overflow: hidden;
        position: relative;

        .link {
            display: block;
        }

        img {
            width: 100%;
            aspect-ratio: 654 / 818;
            object-fit: cover;
            display: block;
            border-radius: var(--bd-rad-md);
            background-color: #f5f5f5;
            border: 1px solid rgba(0,0,0,0.08);
            box-shadow: 0 0.15rem 0.5rem rgba(0,0,0,0.06);
            transition: transform 0.35s ease, box-shadow 0.35s ease;
        }

        &:hover img {
            transform: scale(1.035);
            box-shadow: 0 0.8rem 1.8rem rgba(0,0,0,0.18);
        }

        .text-container {
            padding: 0.6rem 0.4rem 1rem 0.4rem;
            text-align: center;

            .title {
                font-size: 0.85rem;
                font-weight: 500;
                white-space: normal;
                overflow-wrap: break-word;
                line-height: 1.4;
            }
        }
    }
}

@media only screen and (min-width: 640px) {

    .posts-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem 1.2rem;
    }

}

@media only screen and (min-width: 1000px) {

    .posts-container {
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem 1.5rem;

        .post {

            .text-container {
                padding: 0.8rem 0.4rem 1.2rem 0.4rem;

                .title {
                    font-size: 0.9rem;
                }
            }
        }
    }

}

@media only screen and (min-width: 1350px) {

    .posts-container {
        grid-template-columns: repeat(5, 1fr);
    }

}

/* Explore page heading */
.explore-heading {
    font-size: clamp(1.5rem, 4vw, 2rem);
    text-align: center;
    margin: 1.5rem 0 0.4rem;
    color: var(--title-color);
}

.explore-subheading {
    text-align: center;
    color: var(--txt-faded);
    font-size: var(--small-font-size);
    margin-bottom: 1.5rem;
}
