main {
    .catalog-main {
        padding: 12px 0 100px;
        .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: 0;
                right: 0;
                z-index: 1;
                width: 743px;
                height: 100%;
                background: linear-gradient(90deg, var(--bg-3), transparent 11%);
                pointer-events: none;
            }
            .art {
                position: absolute;
                top: 0;
                right: 0;
                width: 743px;
                height: 100%;
                object-fit: cover;
            }
            .markers {
                position: relative;
                z-index: 2;
                display: flex;
                flex-wrap: wrap;
                gap: 8px;
                margin: 0 -50px 50px;
                .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: 2;
                width: 700px;
                max-width: 100%;
                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 {
                display: flex;
                align-items: center;
                position: relative;
                z-index: 2;
                gap: 12px;
                margin-top: 30px;
                > * {
                    flex: none;
                    line-height: 20px;
                }
                .price::after {
                    content: '\f00a';
                }
            }
        }
        .directions {
            .tabs {
                display: flex;
                align-items: center;
                gap: 6px;
                margin-bottom: 24px;
                overflow-x: auto;
                a {
                    display: flex;
                    align-items: center;
                    flex: none;
                    gap: 6px;
                    padding: 10px 16px;
                    border-radius: 12px;
                    background: var(--bg-3);
                    font-size: 14px;
                    line-height: 20px;
                    white-space: nowrap;
                    &::before {
                        font-size: 20px;
                        color: var(--text-10);
                    }
                    &:hover {
                        background: var(--bg-8);
                    }
                    &.active {
                        background: var(--bg-1);
                        color: var(--text-6);
                    }
                }
            }
            .empty {
                padding: 24px;
                border-radius: 20px;
                background: var(--bg-3);
                line-height: 24px;
            }
        }
        > .production {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            min-height: 218px;
            padding: 49px;
            border: var(--border-11);
            border-radius: 20px;
            background: var(--bg-3);
            .content, .contact {
                position: relative;
                z-index: 1;
                flex: none;
            }
            .content {
                width: 441px;
                h2 {
                    font-family: SSFBreakthrough;
                    font-size: 24px;
                    font-weight: 800;
                    line-height: 1.1;
                    color: var(--text-7);
                }
                p {
                    margin-top: 6px;
                    line-height: 20px;
                }
            }
            .art {
                position: absolute;
                left: calc(50% - 260px);
                bottom: 0;
                width: 540px;
                pointer-events: none;
            }
            .contact {
                display: flex;
                flex-direction: column;
                gap: 16px;
                width: 316px;
                .phone {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    text-align: center;
                    span {
                        font-size: 12px;
                        line-height: 14px;
                    }
                    a {
                        font-size: 20px;
                        font-weight: 700;
                        line-height: 24px;
                        color: var(--text-7);
                    }
                }
                .btn {
                    min-height: 46px;
                    padding: 12px 28px;
                    background: var(--bg-14);
                    font-size: 14px;
                    line-height: 20px;
                    &:hover {
                        background: var(--bg-9);
                    }
                }
            }
        }
    }
}
@media screen and (max-width: 1279px) {
    main {
        .catalog-main {
            width: calc(100% - 48px);
            padding-bottom: 80px;
            .hero {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                align-items: center;
                gap: 24px;
                min-height: 0;
                padding: 32px 24px;
                &::before {
                    display: none;
                }
                .markers {
                    grid-column: 1 / -1;
                    margin: 0 -24px;
                    .hero-tag {
                        &:first-child {
                            padding-left: 24px;
                        }
                    }
                }
                .content {
                    grid-area: 2 / 1;
                    width: auto;
                    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%;
                    }
                }
                .art {
                    grid-area: 2 / 2 / 4 / 3;
                    position: static;
                    width: 100%;
                    height: auto;
                    aspect-ratio: 743 / 418;
                    object-fit: contain;
                }
            }
            > .production {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 24px;
                min-height: 0;
                padding: 24px;
                .content {
                    grid-area: 1 / 1;
                    width: auto;
                    min-width: 0;
                }
                .art {
                    grid-area: 1 / 2 / 3 / 3;
                    position: static;
                    justify-self: center;
                    width: 100%;
                    max-width: 540px;
                }
                .contact {
                    grid-area: 2 / 1;
                    width: auto;
                    .phone {
                        align-items: flex-start;
                        text-align: left;
                    }
                }
            }
        }
    }
}
@media screen and (max-width: 767px) {
    main {
        .catalog-main {
            width: calc(100% - 32px);
            .hero {
                grid-template-columns: minmax(0, 1fr);
                gap: 20px;
                margin-bottom: 40px;
                padding: 24px 16px;
                border-radius: 16px;
                .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;
                    > * {
                        width: 100%;
                        min-height: 46px;
                        padding: 12px 16px;
                        font-size: 14px;
                    }
                }
                .art {
                    grid-area: 2 / 1;
                }
            }
            > .production {
                grid-template-columns: minmax(0, 1fr);
                gap: 20px;
                padding: 20px;
                border-radius: 16px;
                .content {
                    h2 {
                        font-size: 22px;
                    }
                    p {
                        font-size: 14px;
                    }
                }
                .art {
                    grid-area: 2 / 1;
                }
                .contact {
                    grid-area: 3 / 1;
                    .phone {
                        align-items: center;
                        text-align: center;
                    }
                }
            }
        }
    }
}