.post-grid {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
    column-gap: 12px;
    row-gap: 12px;
}
.listing-list {
    display: flex;
    flex-direction: column;
    padding: 0 !important;
    padding-block: var(--wp--preset--spacing--20);
    gap: var(--wp--preset--spacing--40);
    list-style-type: none;
    margin-block: 8px;
}
.listing-list.tight {
    gap: 0;
    margin-block-start: -8px;
}
article.listing-card {
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: var(--wp--preset--spacing--40);
}
article.listing-card.vertical {
    display: block;
}
.listing-card-image {
    position: relative;
    flex-basis: 330px;
    min-width: 230px;
    flex-grow: 1;
}
.listing-card-image img {
    object-fit: cover;
    object-fit: cover;
    width: 100%;
    aspect-ratio: 23 / 16;
    height: auto;
}
.listing-card-details {
    display: flex;
    flex-direction: column;
    padding-block: var(--wp--preset--spacing--30);
    gap: 16px;
    flex-basis: calc(100% - 330px - var(--wp--preset--spacing--40));
    width: 100%;
    flex-grow: 1;
    min-width: 300px;
}
.vertical .listing-card-details {
    min-width: unset;
    line-height: 1.25;
    font-weight: bold;
    font-size: 16px;
    padding-block: 16px;
}
.listing-card-details h3 {
    font-size: 28px;
    max-width: 30ch;
}
.event-times {
    font-size: 16px;
}
.event-excerpt {
    line-height: 1.15;
}
.event-excerpt p {
    text-box-trim: none;
}
.listing-links {
    display: flex;
    gap: var(--wp--preset--spacing--20);
    align-items: baseline;
}