/* Shared editorial cards for native Query Loops and dynamic Home/related lists. */
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) {
    --journal-card-padding: 1.25rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    gap: var(--journal-space-8);
    padding: var(--journal-card-padding);
    background: var(--journal-surface);
    border: 1px solid #d7dee1;
    border-radius: 10px;
    box-shadow: 0 3px 12px #2632380a;
    height: 100%;
    min-width: 0;
}
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) > * { width: 100%; min-width: 0; margin-block: 0; }
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) :is(h2, h3) { margin-block: 0; font-size: 1.375rem; font-weight: 600; line-height: 1.55; overflow-wrap: anywhere; }
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) p { margin-block: 0; font-size: 1.0625rem; line-height: 1.85; overflow-wrap: anywhere; }
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) .wp-block-post-excerpt { display: grid; gap: var(--journal-space-8); }
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) :is(.wp-block-post-title, .wp-block-post-terms) a { text-decoration: none; }
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) .wp-block-post-title a { color: var(--journal-ink); }
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) a:hover { color: var(--journal-hover); text-decoration: none; }
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) > :is(.wp-block-post-featured-image, a:has(img)) {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 6px;
    margin-block-end: var(--journal-space-8);
}
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) img { width: 100%; max-width: 100%; height: 100%; object-fit: cover; border-radius: 6px; }
.journal-card > :is(.journal-post-meta, .journal-meta:last-child, .journal-meta:has(.journal-post-meta)) { margin-block-start: auto; padding-block-start: var(--journal-space-8); }
.journal-card .pbc-post-dates { display: block; }
:is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) :is(.wp-block-read-more, .journal-card-read) {
    margin-block-start: var(--journal-space-8);
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.8;
    color: var(--journal-teal);
}
.journal-card-read a, .journal-card .wp-block-read-more { text-decoration: none; }
.wp-block-post-template.is-layout-grid:not(.has-native-responsive-grid) {
    grid-template-columns: repeat(auto-fill, minmax(max(min(100%, 280px), calc((100% - (var(--journal-space-24) * (var(--journal-card-columns, 3) - 1))) / var(--journal-card-columns, 3))), 1fr));
}
.wp-block-post-template.columns-1 { --journal-card-columns: 1; }
.wp-block-post-template.columns-2 { --journal-card-columns: 2; }
.wp-block-post-template.columns-4 { --journal-card-columns: 4; }
.wp-block-post-template.columns-5 { --journal-card-columns: 5; }
.wp-block-post-template.columns-6 { --journal-card-columns: 6; }
@media (max-width: 540px) {
    :is(.journal-card, :where(.wp-block-post-template) > li:not(:where(:has(> .journal-card)))) { --journal-card-padding: var(--journal-space-16); }
}

/* Each row stretches naturally; the card footer follows the unclipped title and teaser. */
.wp-block-post-template > li:has(> .journal-card) { display: flex; min-width: 0; }
.wp-block-post-template > li > .journal-card { flex: 1; }
.journal-card .wp-block-post-excerpt__excerpt,
.journal-card > p:not(.journal-card-read) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}
.journal-card > .journal-card-media {
    aspect-ratio: 16 / 9;
    margin-block-end: var(--journal-space-8);
    border-radius: 6px;
    overflow: hidden;
}
.journal-card-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--wp--preset--color--pale-teal);
    padding: var(--journal-space-24);
}
.journal-card .journal-card-fallback img {
    width: auto;
    max-width: min(100%, 220px);
    max-height: 90%;
    height: auto;
    object-fit: contain;
    border-radius: 0;
}
