.collection.collection-products {
    --_gap: 0.75rem;

    display: block;

    .grid {
        --gap: var(--_gap);
    }

    .product-banner {
        --_column-span: 2;
        --_image-aspect-ratio: 5 / 3;
        grid-column: span var(--_column-span);
        border-radius: var(--base-radius);
        overflow: hidden;

        .product-banner__content {
            padding: 1.5rem;
            margin-top: auto;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            height: 100%;

            .product-banner__title {
                margin-block: 0 1.5rem;
            }

            .product-banner__description {
                margin-bottom: 2.5rem;

                >*:first-child {
                    margin-top: 0;
                }

                >*:last-child {
                    margin-bottom: 0;
                }
            }

            .product-banner__button {
                margin-top: auto;
            }
        }

        .product-banner__image {
            width: 100%;

            img {
                aspect-ratio: var(--_image-aspect-ratio);
                width: 100%;
                height: auto;
                object-fit: cover;
                border-radius: var(--base-radius);
            }
        }

        &.product-banner--small {
            --_column-span: 1;
            --_image-aspect-ratio: 5 / 6;
        }
    }

    &.collection-grid {
        border-radius: var(--base-radius);

        .collection-grid__text {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 1.5rem;
            margin-bottom: 2.5rem;

            &>* {
                margin-block: 0;
            }
        }
    }
}

@media only screen and (min-width: 990px) {
    .collection.collection-products {
        --_gap: 1.375rem 0.5rem;
    }
}