
/* Select the tags section and center it, same width as the text below */
main.post > .post-heading + div {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;   /* small side gutters */
    padding-right: 1rem;
    text-align: center;
}

/* Cap overall content width and center it */
main, .content, article, summary, details, .paginator{
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;   /* small side gutters */
    padding-right: 1rem;
}

summary, details, .paginator{
    width: 100%;
}

/* Allow wrapping on code blocks/"pre" */
pre {
    white-space: pre-wrap;
}

/* "Posts" Desktop: title left, date right, long titles truncate */
.post-group ul > li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    min-width: 0;              /* helps prevent overflow in some flex layouts */
}

.post-group ul > li a.link {
    flex: 1 1 auto;
    min-width: 0;              /* enables ellipsis in flex */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.post-group ul > li time {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: .9em;               /* a bit smaller */
    opacity: .7;                   /* visually secondary */
}

/* "Posts: Mobile: stack; date under title, right-aligned */
@media (max-width: 640px) {
    .post-group ul > li {
        flex-direction: column !important;
        align-items: stretch;
        justify-content: flex-start;
        gap: .25rem;
    }

    .post-group ul > li a.link {
        order: 1;
        display: block;
        width: 100%;
    }

    .post-group ul > li time {
        order: 2;
        display: block;
        width: 100%;
        text-align: right;
        font-size: .85em;
        opacity: .65;
    }
}
