.main {
    align-content: start;
}

.banner {
    background-blend-mode: soft-light;
}

.banner__content {
    position: relative;

    max-width: 1160px;

    padding: 95px 16px;
    gap: 40px;
    margin: 0 auto;
}

.banner__image {
    position: absolute;

    bottom: 0;
    right: 0;

    opacity: .6;
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}

.banner__top {
    width: 65%;

    gap: 40px;

    z-index: 1;
}

.banner__title {
    color: var(--white);
}

.banner__descr {
    font-size: var(--fs-4);
    color: var(--grey);
}

.banner__bottom {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 40px;
    z-index: 1;
    padding-bottom: 55px;
}

.banner__cheat {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    width: 200px;
}

.banner__cheat-title {
    font-size: 16px;
}

.banner__cheat,
.banner__cheat-logo-area {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    border-radius: var(--br-3);
}

.banner__cheat-logo-area {
    align-content: center;
}

.banner__cheat-logo-area-blur {
    padding: 22px;

    backdrop-filter: blur(2px);
    border-radius: var(--br-3);
}

.banner__cheat-logo {
    width: 56px;
    height: auto;

    border-radius: 50%;
}

.banner__cheat-info {
    padding: 18px 18px 18px 15px;
    gap: 10px;
    align-content: start;
}

.banner__cheat-title {
    color: var(--white);
}

.banner__cheat-descr {
    font-size: var(--fs-2);
    color: var(--white-transparent-60);
}

@media (hover: hover) {
    .banner__cheat:hover {
        transform: translateY(-5px);
    }
}

@media (max-width: 1064px) {
    .banner__top {
        width: 70%;
    }
}

@media (max-width: 820px) {
    .banner__image {
        display: none;
    }

    .banner__top {
        width: 100%;
    }

    .banner__bottom {
        grid-template-columns: 1fr;
    }
}

.market {
    height: 100%;

    background-blend-mode: soft-light;
}

.market__content {
    max-width: 1160px;
    /* grid-template-columns: 260px 1fr; */
    gap: 40px;
    padding: 40px 16px;
    margin: 0 auto;
    align-content: start;
}

.market__filters {
    gap: 20px;
    align-content: start;
}

.market__filters-title {
    color: var(--white);
}

.market__filters-elem {
    gap: 20px;
}

.market__filters-name {
    font-size: var(--fs-5);
    color: var(--grey);
}

.market__filters-search-input {
    width: 100%;

    padding: 18px 58px 18px 18px;
    box-sizing: border-box;

    font-size: var(--fs-3);
    color: var(--white);
    background-color: var(--light-black-1);
    border-radius: var(--br-2);

    cursor: text;
}

.market__filters-search {
    position: relative;
}

.market__filters-search button {
    position: absolute;

    height: 51px;
    width: 56px;

    align-items: center;
    justify-content: center;
    top: 0;
    right: 0;
}

.market__filters-search button svg {
    min-width: 20px;
    width: 20px;
    height: auto;

    fill: var(--white-transparent-60);
}

.market__filters-price {
    gap: 20px;
    align-items: center;
}

.market__filters-price-label {
    position: relative;
}

.market__filters-price-input {
    width: 100%;

    padding: 18px 18px 18px 46px;
    box-sizing: border-box;

    font-size: var(--fs-3);
    color: var(--white);
    background-color: var(--light-black-1);
    border-radius: var(--br-2);

    cursor: text;
}

.market__filters-price-label svg {
    position: absolute;

    min-width: 10px;
    width: 10px;
    height: auto;

    left: 18px;
    top: 50%;
    transform: translateY(-50%);

    fill: var(--main);
    filter: drop-shadow(0 0 5px var(--main));
}

.market__filters-price-line {
    height: 2px;
    min-width: 20px;
    width: 20px;

    background-color: var(--white);
    border-radius: 1px;
}

.market__filters-checkbox {
    gap: 20px;
}

.market__filters-checkbox-label {
    position: relative;

    height: 32px;
    width: 32px;

    align-items: center;
    justify-content: center;

    border-radius: var(--br-2);
    border: 1px solid var(--white-transparent-10);
    background-color: var(--light-black-1);
}

.market__filters-checkbox-label svg {
    min-width: 14px;
    width: 14px;
    height: auto;

    fill: var(--main);
    filter: drop-shadow(0 0 5px var(--main));

    opacity: 0;
}

.market__filters-checkbox-label input:checked ~ svg {
    opacity: 1;
}

.market__filters-checkbox-label span {
    position: absolute;
    
    left: 52px;
    white-space: nowrap;

    font-size: var(--fs-4);
    color: var(--grey);
}

.market__filters-checkbox-label input {
    display: none;
}

.market__filters-actions {
    padding: 20px;
    gap: 20px;
    justify-items: center;

    background-color: var(--light-black-1);
    border-radius: var(--br-2);
}

.market__filters-save {
    width: 100%;

    padding: 15px 20px;
    text-align: center;
    box-sizing: border-box;

    font-size: var(--fs-3);
    color: var(--white);
    border-radius: var(--br-1);
    background-color: var(--main);
}

.market__filters-reset {
    text-align: center;

    font-size: var(--fs-3);
    color: var(--grey);
}

@media (hover: hover) {
    .market__filters-reset:hover {
        color: var(--red);
    }
}

.market__catalog {
    margin-bottom: 250px;
    gap: 40px;
    box-sizing: border-box;
    align-items: start;
}

.market__catalog-blocks {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    /* grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); */
    gap: 40px;
}

.market__catalog-block {
    gap: 10px;
    padding: 20px;

    border-radius: var(--br-2);
    background-color: var(--light-black-1-transparent-70);

    overflow: hidden;
}

.market__catalog-photo {
    width: 100%;
    aspect-ratio: 1 / 1;

    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;

    border-radius: var(--br-2);
    transition: .3s;
}

.market__catalog-name {
    color: var(--white-transparent-60);
    word-break: break-word;
}

.market__catalog-bottom {
    justify-content: space-between;
    align-items: center;
    gap: 5px;
}

.market__catalog-watch {
    padding: 12px 20px;
    text-align: center;

    font-size: var(--fs-3);
    color: var(--white);
    background-color: var(--main);
    border-radius: var(--br-1);
}

.market__catalog-price {
    padding: 12px;
    text-align: center;

    font-size: var(--fs-4);
    color: var(--white);
    background-color: var(--main-dark);
    border-radius: var(--br-1);
}

.market__catalog-more {
    width: fit-content;

    padding: 15px 20px;
    justify-self: center;

    font-size: var(--fs-3);
    color: var(--white);
    border: 1px solid var(--main-dark-1);
    border-radius: var(--br-1);
}

@media (hover: hover) {
    .market__catalog-block:hover .market__catalog-photo {
        background-size: 130%;
    }
}

@media (max-width: 861px) {
    .market__catalog-bottom {
        flex-direction: column-reverse;
        align-items: stretch;
    }
}

@media (max-width: 600px) {
    .market__content {
        grid-template-columns: 1fr;
    }
    
    .market__catalog {
        margin-top: 0;
    }
}

@media (hover: hover) {
    .market__catalog-more:hover {
        background-color: var(--main-dark-1);
    }
}

@media (max-width: 1050px) {
    .market__catalog-blocks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}
