.small__banner {

    margin-top: 20px;

    .banner__wrap {
        display: flex;
        flex-wrap: wrap;
        column-gap: 20px;
        row-gap: 20px;
    }

    .banner__block {
        position: relative;
        min-height: 280px;
        flex: 1 0 auto;
        min-width: 320px;
        overflow: hidden;
        border-radius: 12px;
    }

    .banner__block>img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .banner__block>a {
        font-size: 0;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
    }

    .banner__content {
        position: relative;
        height: 100%;
        padding: 24px 24px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        z-index: 1;

        &:after {
            content: "";
            position: absolute;
            display: block;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            background: linear-gradient(0deg, rgb(0 0 0 / 50%) 0%, rgba(255, 255, 255, 0) 100%);
        }

        .banner__title {
            color: #ffffff;
            font-size: 26px;
            font-style: normal;
            font-weight: 500;
            line-height: 140%;
            letter-spacing: 0.52px;
            position: relative;
            z-index: 1;
        }
    }
}


section.banner,
.section-banner {

    .banner__wrap {
        position: relative;
        border-radius: 12px;
        overflow: hidden;
        padding: 40px 40px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: var(--height-desktop, 300px);

        img {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            object-fit: cover;
        }
    }

    .banner__content {
        max-width: 500px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        position: relative;
    }

    .banner__title {
        color: #ffffff;
        font-size: 26px;
        font-style: normal;
        font-weight: 400;
        line-height: 130%;
        letter-spacing: 0.8px;
    }

    .banner__description {
        color: #ffffff;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 140%;
        letter-spacing: 0.16px;
        margin-top: 16px;
    }

    .banner__button {
        margin-top: 24px;
    }

    &.banner--large {
        .banner__title {
           font-size: 40px; 
        }

        .banner__description {
            font-size: 20px;
            margin-top: 10px;
            line-height: 150%;
        }
    }
}

.home__page {
    .banner {
        margin-top: 56px;
        margin-bottom: 56px;
    }
}

@media (max-width: 992px) {
    .small__banner {
        margin-top:30px;

        .banner__wrap {
            column-gap: 12px;
            flex-wrap: nowrap;

            .banner__block {
                flex: 1 0 calc(calc(100% / 3) - 12px);
                min-width:0;
                padding:0;
                min-height:116px;

                img {
                    position:static;
                    height:116px;
                    border-radius:12px;
                }

                .banner__content {
                    padding:0;
                    display:block;

                    &:after {
                        display:none;
                    }

                    .banner__title {
                        color: var(--Base-Dark, #171717);
                        text-align: center;
                        font-size: 12px;
                        font-weight: 400;
                        line-height: 100%;
                        letter-spacing: 0.12px;
                        margin-top:8px;
                    }
                }
            }
        }
    }

    .home__page .banner {
        margin-top:0;
    }

    section.banner {
        .banner__wrap {
            justify-content: start;
            min-height:503px;

            .banner__content {
                .banner__title {
                    font-size:28px;
                    line-height:140%;
                }
                .banner__button {
                    margin-top:32px;

                    .button {
                        width:100%;
                    }
                }
            }
        }
    }

    .category__page {
        .banner {
            .banner__wrap {
                min-height:240px;
                padding-left:16px;
                padding-right:29px;
                justify-content:center;

                .banner__content {
                    .banner__description {
                        color: var(--Base-White, #FFF);
                        font-size: 16px;
                        line-height: 140%;
                        letter-spacing: 0.16px;
                    }
                }
            }
        }
    }
}