body {
    padding-bottom: 0;
}

:root {
    /* Theme main column is 75%; this lets homepage pagination span the full content row. */
    --post-list-wide-pagination-width: 133.333%;
}

.list__item {
    padding: 1.05rem 0 1.15rem;
    border-bottom: 1px solid #edf0f3;
}

.list__item .post-header h2 {
    max-width: 56rem;
    margin: 0;
    font-size: 1.42rem;
    font-weight: 650;
    line-height: 1.34;
    letter-spacing: 0;
}

.list__item .post-header h2 a {
    color: #374151;
    text-decoration: none;
}

.list__item .post-header h2 a:hover {
    color: #111827;
}

.list__item .post-flag {
    display: inline-flex;
    align-items: center;
    margin-right: 0.45rem;
    padding: 0.08rem 0.38rem;
    border-radius: 3px;
    color: #374151;
    background: #eef2ff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    vertical-align: 0.12em;
}

.list__item .post-details {
    margin: 0.25rem 0 0.65rem;
    color: #6b7280;
    font-size: 0.92rem;
}

.list__item .post-excerpt {
    max-width: 50rem;
    margin: 0 0 0.65rem;
    font-size: 1rem;
    line-height: 1.6;
}

.list__item .post-excerpt p {
    margin: 0.5rem 0 0;
}

.list__item .post-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.42rem 0.78rem;
    align-items: center;
    border-bottom: 0;
    padding-bottom: 0;
    color: #6b7280;
    font-size: 0.86rem;
}

.list__item .post-categories {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.28rem 0.9rem;
    align-items: center;
}

.list__item .post-categories a {
    color: #6b7280;
}

.post-tags {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.28rem 0.35rem;
    align-items: center;
}

.post-tags code {
    padding: 0.08rem 0.34rem;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background: #fafafa;
    color: #6b7280;
    font-size: inherit;
    line-height: 1.55;
    white-space: nowrap;
}

.post-tags code a {
    color: inherit;
}

main > .nav-links {
    clear: both;
    margin-top: 1rem;
    padding: 1.2rem 0 1.6rem;
    color: #6b7280;
}

ul.pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.22rem 0.34rem;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.pagination a,
ul.pagination span {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: 0 0.22rem;
    color: #6b7280;
    text-decoration: none;
}

ul.pagination a:hover,
ul.pagination span {
    color: #111827;
}

@media only screen and (min-width: 957px) {
    .two-column main > .nav-links {
        width: calc(var(--post-list-wide-pagination-width) + 2px);
    }
}

@media only screen and (max-width: 760px) {
    .list__item {
        margin-bottom: 0.85rem;
        padding: 0.95rem;
        border: 1px solid #e5e7eb;
        border-radius: 6px;
        background: #fff;
    }

    .list__item .post-header h2 {
        max-width: none;
        font-size: 1.12rem;
        line-height: 1.42;
    }

    .list__item .post-details {
        margin: 0.45rem 0 0.65rem;
        font-size: 0.84rem;
    }

    .list__item .post-excerpt {
        max-width: none;
        font-size: 0.95rem;
        line-height: 1.65;
    }

    .list__item .post-footer {
        margin-top: 0.75rem;
        gap: 0.68rem 0.35rem;
    }

    .post-tags code {
        max-width: 100%;
        padding: 0.08rem 0.34rem;
        overflow-wrap: anywhere;
        white-space: normal;
    }

    main > .nav-links {
        margin-top: 0.85rem;
        padding: 1rem 0 1.25rem;
    }
}
