.builder-catalogue-list {
    padding: 1.75rem 0;
}

.builder-catalogue-list .row-gap {
    row-gap: 1.5em;
}

.builder-catalogue-list .heading-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.builder-catalogue-list .heading-wrapper .heading {
    margin-bottom: 0;
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 600;
    line-height: 140%;
    color: var(--navy-color);
}

.builder-catalogue-list .heading-wrapper .description {
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    color: var(--navy-color);
}

.builder-catalogue-list .catalog-item {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
    border-radius: 0.75rem;
    background: var(--gray-color);
    aspect-ratio: 1/1;
    position: relative;
    color: var(--white-color);
    text-decoration: none;
    font-size: 2rem;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    text-align: center;
    overflow: hidden;
}

.builder-catalogue-list .catalog-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--black-color);
    background: var(--gradient-black);
    z-index: 200;
    opacity: 0.9;
}

.builder-catalogue-list .catalog-item.catalog-item-awik::after {
    background: var(--blue-color);
    background: var(--gradient-blue);
}
.builder-catalogue-list .catalog-item.catalog-item-apiuc::after {
    background: var(--orange-color);
    background: var(--gradient-orange);
}

.builder-catalogue-list .catalog-item .bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 100;
    mix-blend-mode: luminosity;
    transition: filter 0.3s ease-in-out;
}

.builder-catalogue-list .catalog-item:hover .bg-image {
    filter: contrast(2);
}

.builder-catalogue-list .catalog-item .catalog-item-title {
    position: relative;
    z-index: 300;
    font-size: 2rem;
    font-style: normal;
    font-weight: 600;
    line-height: 120%;
    text-align: center;
}

@media (max-width: 992px) {
    .builder-catalogue-list .catalog-item {
        aspect-ratio: 2/1;
    }

    .builder-catalogue-list .heading-wrapper .heading {
        font-size: 1.5rem;
        text-align: center;
    }

    .builder-catalogue-list .heading-wrapper .description {
        font-size: 1rem;
        text-align: center;
    }

    .builder-catalogue-list .catalog-item .catalog-item-title {
        font-size: 1.5rem;
    }
}