h1, h2 {
    font-size: 24px;
    font-weight: 600;
}
.promo {
    margin-bottom: 40px;
}
.content {
    display: grid;
    grid-template-columns: calc(100% - 360px) 320px;
    gap: 40px;
    margin-bottom: 160px;
}
.news {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    gap: 80px;
    section {
        overflow: hidden;
        max-width: 100%;
        h1, & > h2 {
            margin-bottom: 30px;
        }
        .items {
            display: flex;
            flex-direction: column;
            gap: 15px;
            .item {
                padding: 20px 20px 30px;
                background: var(--main);
                border-radius: 20px;
                position: relative;
                transition: .3s linear;
                .head {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    margin-bottom: 30px;
                    a {
                        padding: 8px 16px;
                        background: var(--snippet-category-bg);
                        border-radius: 8px;
                        font-size: 16px;
                        color: var(--second);
                        position: relative;
                        z-index: 3;
                    }
                    span {
                        font-size: 14px;
                        font-weight: 300;
                        color: var(--snippet-text);
                    }
                }
                & > h3 {
                    font-weight: 500;
                    margin-bottom: 15px;
                }
                .text {
                    display: flex;
                    flex-direction: column;
                    gap: 5px;
                    max-height: 50px;
                    overflow: hidden;
                    * {
                        font-size: 14px;
                        color: var(--snippet-text);
                    }
                }
                & > a {
                    position: absolute;
                    inset: 0;
                }
            }
        }
        .top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 30px;
            h2 {
                margin-bottom: 0;
            }
            .controls {
                display: flex;
                gap: 20px;
                align-items: center;
                button {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    width: 32px;
                    height: 32px;
                    background: var(--main);
                    border: 1px solid var(--second);
                    border-radius: 50%;
                    transition: .3s linear;
                    &.arrow-l {
                        transform: rotate(180deg);
                    }
                    &::before {
                        content: '\e004';
                        font-family: 'icon';
                        font-size: 14px;
                        font-weight: 600;
                        color: var(--second);
                        transition: .3s linear;
                    }
                    &.ws-arrow-disabled {
                        cursor: auto;
                    }
                }
            }
        }
        .slides {
            display: flex;
            gap: 20px;
            .item {
                display: flex;
                flex-direction: column;
                overflow: hidden;
                background: var(--main);
                border-radius: 20px;
                padding-bottom: 20px;
                position: relative;
                transition: .3s linear;
                min-width: 320px;
                img {
                    margin-bottom: 15px;
                }
                h2 {
                    font-size: 16px;
                    margin: 0 10px 20px;
                    transition: .3s linear;
                }
                .footer {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    margin: auto 10px 0;
                    span {
                        font-size: 14px;
                        font-weight: 300;
                        &.views {
                            display: flex;
                            gap: 10px;
                            align-items: center;
                            &::before {
                                content: '\e010';
                                font-family: 'icon';
                                font-size: 16px;
                            }
                        }
                    }
                }
                a {
                    position: absolute;
                    inset: 0;
                }
            }
        }
    }
}

@media (max-width: 1080px) {
    h1, h2 {
        font-size: 22px;
    }
    .content {
        grid-template-columns: 100%;
        gap: 100px;
        margin-bottom: 120px;
    }
}
@media (max-width:768px) {
    h1, h2 {
        font-size: 18px;
    }
    .promo {
        margin-bottom: 30px;
    }
    .content {
        gap: 60px;
        margin-bottom: 80px;
    }
    .news {
        gap: 40px;
        section {
            h1, & > h2 {
                margin-bottom: 20px;
            }
            .items {
                gap: 10px;
                .item {
                    padding: 15px;
                    .head {
                        margin-bottom: 20px;
                    }
                    & > h3 {
                        font-size: 16px;
                        margin-bottom: 10px;
                    }
                }
            }
            .top {
                .controls {
                    gap: 15px;
                    button {
                        width: 28px;
                        height: 28px;
                        &::before {
                            font-size: 12px;
                        }
                    }
                }
            }
            .slides {
                display: flex;
                gap: 20px;
                .item {
                    min-width: 330px;
                }
            }
        }
    }
}
@media (hover:hover) {
    .news section {
        .top .controls button:not(.ws-arrow-disabled):hover {
            background: var(--second);
            &::before {
                color: var(--main);
            }
        }
    }
}