main {
    .catalog-section {
        padding: 12px 0 50px;
        .hero {
            position: relative;
            display: flex;
            flex-direction: column;
            min-height: 418px;
            margin-bottom: 50px;
            padding: 50px;
            overflow: hidden;
            border-radius: 20px;
            background: var(--bg-3);
            &::before {
                content: '';
                position: absolute;
                top: -121px;
                left: 507px;
                width: 1722px;
                height: 672px;
                background: url('../images/catalog-pattern.webp') repeat-x left top;
                background-size: auto 100%;
                opacity: 0.3;
                pointer-events: none;
            }
            .markers {
                position: relative;
                z-index: 1;
                display: flex;
                gap: 8px;
                margin: 0 -50px 30px;
                .hero-tag {
                    position: relative;
                    top: auto;
                    padding-left: 15px;
                    border-radius: 10px;
                    line-height: 20px;
                    span::before {
                        content: '\f023';
                    }
                    &:first-child {
                        padding-left: 50px;
                        border-radius: 0 10px 10px 0;
                    }
                    &:not(:first-child) {
                        &::before, &::after {
                            display: none;
                        }
                    }
                }
            }
            .content {
                position: relative;
                z-index: 1;
                width: 700px;
                h1 {
                    font-size: 44px;
                    line-height: 1.1;
                    letter-spacing: -1px;
                    color: var(--text-7);
                }
                .description {
                    margin-top: 10px;
                    p {
                        line-height: 20px;
                        strong {
                            font-weight: 700;
                            color: var(--text-10);
                        }
                    }
                }
            }
            .actions {
                position: relative;
                z-index: 1;
                display: flex;
                align-items: center;
                gap: 12px;
                margin-top: 30px;
                > * {
                    flex: none;
                    line-height: 20px;
                }
                .register::after {
                    content: '\f009';
                }
                .price::after {
                    content: '\f00a';
                }
            }
            .art {
                position: absolute;
                top: 50%;
                right: 50px;
                width: 493px;
                height: 418px;
                object-fit: cover;
                transform: translateY(-50%);
            }
        }
        .groups {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 12px;
            margin-bottom: 100px;
            .item {
                display: flex;
                gap: 12px;
                padding: 19px;
                border: 1px solid var(--bg-8);
                border-radius: 16px;
                background: var(--bg-4);
                &:hover {
                    border-color: transparent;
                    box-shadow: var(--shadow-2);
                }
                img {
                    flex: none;
                    width: 122px;
                    height: 122px;
                    object-fit: contain;
                }
                .content {
                    display: flex;
                    flex: 1;
                    flex-direction: column;
                    gap: 12px;
                    min-width: 0;
                    h2 { 
                        a {
                            font-size: 14px;
                            font-weight: 700;
                            line-height: 20px;
                            text-transform: uppercase;
                            color: var(--text-7);
                        }
                    }
                }
                .links {
                    display: flex;
                    flex-direction: column;
                    gap: 6px;
                    margin-top: auto;
                    a {
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        gap: 6px;
                        min-height: 48px;
                        padding: 6px 12px;
                        border-radius: 12px;
                        background: var(--bg-24);
                        font-size: 14px;
                        line-height: 1.3;
                        &::after {
                            content: '\f009';
                            flex: none;
                            font-family: icon;
                            font-size: 16px;
                            line-height: 16px;
                        }
                        &:hover {
                            background: var(--bg-3);
                            color: var(--text-7);
                        }
                    }
                }
            }
        }
        .advantages {
            margin: 0 50px;
        }
    }
}
@media screen and (max-width: 1279px) {
    main {
        .catalog-section {
            width: calc(100% - 48px);
            .hero {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                align-items: center;
                gap: 24px;
                min-height: 0;
                padding: 32px 24px;
                &::before {
                    inset: 0 0 0 35%;
                    width: auto;
                    height: auto;
                }
                .markers {
                    grid-column: 1 / -1;
                    flex-wrap: wrap;
                    margin: 0 -24px;
                    .hero-tag {
                        &:first-child {
                            padding-left: 24px;
                        }
                    }
                }
                .content {
                    grid-area: 2 / 1;
                    width: auto;
                    min-width: 0;
                    h1 {
                        font-size: 34px;
                    }
                }
                .actions {
                    grid-area: 3 / 1;
                    align-self: start;
                    flex-wrap: wrap;
                    gap: 8px;
                    margin-top: 0;
                    > * {
                        min-width: 0;
                        max-width: 100%;
                    }
                    .register {
                        > span {
                            font-size: inherit;
                            span {
                                font-size: inherit;
                            }
                        }
                    }
                }
                .art {
                    grid-area: 2 / 2 / 4 / 3;
                    position: static;
                    justify-self: center;
                    width: 100%;
                    max-width: 493px;
                    height: auto;
                    object-fit: contain;
                    transform: none;
                }
            }
            .groups {
                grid-template-columns: repeat(2, minmax(0, 1fr));
                margin-bottom: 80px;
                .item {
                    padding: 15px;
                    img {
                        width: 88px;
                        height: 88px;
                    }
                }
            }
            .advantages {
                margin: 0;
            }
        }
    }
}
@media screen and (max-width: 767px) {
    main {
        .catalog-section {
            width: calc(100% - 32px);
            .hero {
                grid-template-columns: minmax(0, 1fr);
                gap: 20px;
                margin-bottom: 40px;
                padding: 24px 16px;
                border-radius: 16px;
                &::before {
                    inset: 0;
                }
                .markers {
                    gap: 6px;
                    margin: 0 -16px;
                    .hero-tag {
                        padding: 8px 12px;
                        font-size: 12px;
                        line-height: 16px;
                        &:first-child {
                            padding-left: 16px;
                        }
                        span::before {
                            margin-right: 8px;
                        }
                    }
                }
                .content {
                    grid-row: 3;
                    h1 {
                        font-size: 26px;
                    }
                    .description {
                        p {
                            font-size: 14px;
                            strong {
                                font-size: inherit;
                            }
                        }
                    }
                }
                .actions {
                    grid-row: 4;
                    flex-direction: column;
                    align-items: stretch;
                    > * {
                        gap: 8px;
                        width: 100%;
                        min-height: 46px;
                        padding: 12px 8px;
                        font-size: 14px;
                    }
                }
                .art {
                    grid-area: 2 / 1;
                }
            }
            .groups {
                grid-template-columns: minmax(0, 1fr);
                gap: 8px;
                .item {
                    display: grid;
                    grid-template-columns: 72px minmax(0, 1fr);
                    img {
                        width: 72px;
                        height: 72px;
                    }
                    .content {
                        display: contents;
                        h2 {
                            align-self: center;
                        }
                        .links {
                            grid-column: 1 / -1;
                            margin-top: 0;
                        }
                    }
                }
            }
        }
    }
}