.posts-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;

    >div.col {
        height: 30rem;
    }

    @media (min-width: 768px) {
        grid-template-columns: repeat(2, 1fr);
    }

    @media (min-width: 1024px) {
        grid-template-columns: repeat(3, 1fr);
    }


    .card {
        display: flex;
        flex-direction: column;
        justify-content: space-between;

        border: none;
        box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
        overflow: hidden;
        background-color: white;

        .single-image {
            object-fit: cover;
            object-position: center;
            width: 100%;
            aspect-ratio: 4/3;
        }

        .carousel {
            position: relative;
            width: 100%;
            aspect-ratio: 4/3;
            overflow: hidden;

            .carousel-inner {
                display: flex;
                transition: transform 0.5s ease;

                .carousel-item {
                    min-width: 100%;
                    flex: 0 0 100%;

                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                        object-position: center;
                    }
                }
            }

            button {
                position: absolute;
                font-size: 3em;
                top: 50%;
                transform: translateY(-50%);
                background-color: none;
                border: none;
                background: none;
                color: white;
                opacity: 0.2;
                cursor: pointer;
                transition: opacity 0.3s;

                &:hover {
                    opacity: 0.8;
                }

                &.prev {
                    left: 0;
                }

                &.next {
                    right: 0;
                }
            }
        }

        .card-body {
            padding: 1.2rem;
            display: block;

            h5.card-title {
                margin: 0.5rem 0;
                font-weight: 600;
            }

            p.card-text {
                margin: 0.5rem 0;
            }

            button.show-more {
                padding: 0;
                background-color: transparent;
                border: none;
                color: var(--azul-80);
                font-size: 0.9em;
                font-style: italic;
            }
        }

        .card-footer {
            text-align: right;
            font-size: 0.8em;
            background-color: var(--azul-02);
            color: var(--azul-80);
            font-style: italic;
            padding: 0.5rem 1rem;
        }

    }

}


div.step-links {
    margin-top: 3rem;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;

    span.current-page {
        width: 4rem;
        text-align: center;
    }

    button {
        background-color: transparent;
        border: none;

        &.disabled {
            color: var(--azul-10);
        }
    }
}
