.catalog-layout {

    display: flex;
    flex-wrap: wrap;
}

aside {
    /*width: 100%;*/
    flex: 1 1 200px; /* grow, shrink, basis */
    min-width: 200px;
    background: rgba(221, 255, 0, 0.1);
}

.catalog-content {
    /*width: 100%;*/
    flex: 5 1 auto;
    min-width: 320px;
    /*background: rgba(10, 232, 239, 0.1);*/
}

.categories-grid,
.positions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;

    @media (max-width: 1024px) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    @media (max-width: 640px) {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

.category-card,
.position-card {
    /*border: 1px solid crimson;*/
    height: 243px;
    padding: .5rem 0 0 0;
    /*min-width: 296px;*/

    .card-border {
        width: 100%;
        height: 100%;
        border: 1px solid var(--border-primary);
        border-radius: 10px;
        padding: 1rem;
        position: relative;

        .mark {
            position: absolute;
            height: 1.2rem;
            padding: 0 .6rem;
            top: -.6rem;
            right: 1rem;
            background-color: var(--text);
            border-radius: .6rem;
            color: var(--bg-main-menu);
            font-size: .9rem;
            display: flex;
            align-items: center;
            gap: .4rem;

            .icon {
                stroke: currentColor;
                width: .9rem;
                height: .9rem;
            }
        }
    }



    .description {
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        display: -webkit-box;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .icon {
        width: 1.5rem;
        height: 1.5rem;
        stroke: currentColor;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
}

