.posts-item {
    max-width: 100%;
    height: 100%;
    background: var(--color-surface);
    gap: 0;
    border-radius: 1rem;
    transition: var(--trans);
}

.posts-item__image {
    aspect-ratio: 400/195;
    overflow: hidden;
}

.posts-item__content {
    gap: 1.5rem;
    padding: 3rem;
    flex: 1;
}

.post-cats {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    color: var(--color-tertiary);
}

.posts-item__title {
    font-weight: 700;
    color: var(--color-primary);
}

.posts-item__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    padding-top: 4rem;
    margin-top: auto;
}



.posts-item.alt {
    background: var(--color-surface);
    color: var(--color-text);
}

.post-cats.alt,
.posts-item.alt .posts-item__cats,
.posts-item.alt .posts-item__date {
    color: inherit;
}

.posts-item.alt .icon-arrow-external circle {
    stroke: var(--color-primary);
}

.posts-item.alt .icon-arrow-external path {
    stroke: var(--color-primary);
}

@media (hover: hover) and (pointer: fine) {
    .posts-item:hover {
        background: var(--color-text);
        box-shadow: inset  0 0 0 0.1rem transparent;
        color: var(--color-secondary);
    }

    .posts-item:hover .posts-item__title {
        color: inherit;
    }

    .posts-item:hover .icon-arrow-external path {
        stroke: var(--color-secondary);
    }

    .posts-item:hover .icon-arrow-external circle {
        fill: var(--color-tertiary);
        stroke: var(--color-tertiary);
    }

    .posts-item.alt:hover {
        background: var(--color-text);
        box-shadow: inset 0 0 0 0.1rem transparent;
    }
}

@media screen and (max-width: 1024.9px) {
    .posts-item.alt .icon-arrow-external circle {
        fill: var(--color-secondary);
    }

    .posts-item.alt .icon-arrow-external path {
        stroke: var(--color-primary);
    }
}

@media screen and (max-width: 575.9px) {
    .posts-item.alt {
        background: var(--color-primary);
        box-shadow: inset 0 0 0 0.1rem transparent;
    }

    .posts-item.alt .posts-item__info {
        padding: 3rem;
    }

    .posts-item__image {
        aspect-ratio: 335/195;
    }

    .posts-item__date {
        font-size: 1rem;
    }
}