.preview-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-gap: $lineheight / 3;
    margin: -$lineheight / 3;
    padding-bottom: $lineheight;

    @include md() {
        grid-template-columns: 1fr 1fr;
    }

    @include lg() {
        grid-template-columns: 1fr 1fr 1fr;
    }

    @include xl() {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.preview-list {
    .preview {
        display: block;
    }
    @include sm() {
        .preview-thumbnail {
            width: min-content;
            img {
                width: 240px;
                margin-right: $lineheight /2;
            }
        }
    
        .preview {
            display: flex;
            align-items: start;
            margin-bottom: $lineheight;
        }
    }
    @include xl() {
        .preview-thumbnail img {
            width: 320px;
        }
    }
}

.preview {
    font-size: 0.8rem;
    text-decoration: none;
    padding: $lineheight / 3;
    border-radius: $card-radius;
}

.preview-thumbnail {
    display:block;
    width: 100%;
    background-color:transparent;
    object-fit: cover;
    padding:0;
    line-height:0;
    img {
        width:100%;
        object-fit: cover;
        height: auto;
        aspect-ratio: 16/9;
        border-radius: $card-radius;
    }
}

.preview h2, .preview-featured h2 {
    font-size:1.25rem;
    line-height: 1.5rem;
    font-family: $titlefont;
    font-weight: 800;
    height:3rem;
    color: $color-font;
    a {
        background-color:transparent!important;
        color:$color-font;
    }
}

.preview-featured h2 {
    color: $color-font-light;
}

.preview-excerpt {
    margin-top: $lineheight / 2;
    font-size:0.8rem;
    line-height:1.25rem;
    color:transparentize($color-font, 0.2);
}