:root
{
    --bg: #fff;
    --sidebar_width: 624px;
    --scroll_width: 17px;
    --text_color: #000;
    --font_size: 14px;
    --font_size_title: 24px;
    --font_family: 'Inter', 'Arial', sans-serif;
}


::selection
{
    color: #fff;
    background: #000;
}

::-moz-selection
{
    color: #fff;
    background: #000;
}



html
{
    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;
}

html.custom_scroll ::-webkit-scrollbar
{
    width: 10px;
    height: 10px;

    background-color: var(--bg);
}

html.custom_scroll ::-webkit-scrollbar-thumb
{
    background-color: #000;
}


body
{
    font: var(--font_size) var(--font_family);

    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;

    color: var(--text_color);
}

body.lock
{
    overflow: hidden;
}


button
{
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;

    display: inline-block;

    cursor: pointer;
    vertical-align: top;

    color: inherit;
    border: none;
    background: none;
}


.wrap
{
    position: relative;
    z-index: 9;

    display: flex;
    overflow: clip;
    flex-direction: column;

    min-height: 100%;

    background: var(--bg);
}


.wrap > .main
{
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
}


.cont
{
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 48px;
}


.row
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;
}



.content_flex.row,
.content_flex > .cont.row
{
    align-content: stretch;
    align-items: stretch;
    justify-content: space-between;
}


.content_flex .content
{
    position: relative;

    width: calc(100% - var(--sidebar_width) - 50px);
}


.content_flex .content > *:first-child
{
    margin-top: 0;
}

.content_flex .content > *:last-child
{
    margin-bottom: 0;
}



.block
{
    margin-bottom: 68px;
}

.block.border
{
    padding-bottom: 68px;

    border-bottom: 1px solid #ededed;
}



.modal_btn > *
{
    pointer-events: none;
}



.overlay
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    opacity: .65;
    background: #000;
}




/*--------------
    Products
--------------*/
.catalogProducts
{
    position: relative;
}


.catalogProducts .head
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: 32px;
}


.catalogProducts .filter_btn {
    font-size: 13px;
    line-height: 22px;
    transition: color .2s linear;
    text-transform: uppercase;
    background: transparent;
    border: none;
    color: #000;
    padding: 0;
}


.catalogProducts .filter_btn:hover
{
    color: #9f9f9f;
}


.catalogProducts .filter
{
    position: absolute;
    z-index: 9;
    top: 0;
    right: 100%;

    width: 480px;
    height: 100%;
    max-width: 100%;
    transition: transform .3s linear;

    background: var(--bg);
}


.catalogProducts .filter::-webkit-scrollbar
{
    width: 5px;
    height: 5px;
}


.catalogProducts .filter:before
{
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 0;

    width: 100vw;
    height: 300%;


    content: '';
    transform: translateY(-50%);
    pointer-events: none;

    background: var(--bg);
}

.catalogProducts .filter.empty_filter:before {
    /*height: 99999999%; */
    height: 10000%;
}


.catalogProducts .filter.show
{
    z-index: 111;

    transform: translateX(100%);
}


.catalogProducts .filter .scroll
{
    position: relative;
    z-index: 3;

    overflow: auto;

    padding: 0 48px 48px;

    overscroll-behavior-y: contain;

    background: white;
}


.catalogProducts .filter .scroll > * + *
{
    margin-top: 32px;
}


.catalogProducts .filter .close_btn {
    font-size: 13px;
    line-height: 22px;
    transition: color .2s linear;
    text-transform: uppercase;
    background: none;
    border: none;
    color: #000;
    padding: 0;
}


.catalogProducts .filter .close_btn:hover
{
    color: #9f9f9f;
}


.catalogProducts .filter .item
{
    margin-top: 10px;
}


.catalogProducts .filter .name
{
    font-size: 12px;
    line-height: 20px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    cursor: pointer;
    text-transform: uppercase;
}


.catalogProducts .filter .name span
{
    margin-left: 4px;

    color: #9f9f9f;
}


.catalogProducts .filter .name .arr
{
    display: block;

    width: 6px;
    height: 12px;
    margin-left: auto;

    transition: transform .2s linear;
    transform: rotate(90deg);
}


.catalogProducts .filter .name.active .arr
{
    transform: rotate(-90deg);
}


.catalogProducts .filter .data
{
    display: none;

    padding: 10px 0 10px 10px;
}

.catalogProducts .filter .data.price_range
{
    padding-left: 0;
}


.catalogProducts .filter .field + .field
{
    margin-top: 12px;
}


.catalogProducts .filter .submit
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 20px;
}


.catalogProducts .filter .submit_btn
{
    width: 137px;
    background: #fff;
    color: #000;
}


.catalogProducts .filter .reset_btn
{
    font-size: 12px;
    line-height: 20px;
    color: #000;
    margin-left: 29px;
    border: none;
    transition: color .2s linear;
    width: auto;
    background: #fff;
}


.catalogProducts .filter .reset_btn:hover
{
    color: #9f9f9f;
}


.catalogProducts .filter_overlay.show
{
    z-index: 110;

    display: block;
}


.catalogProducts .head .sort,
.catalogProducts .head .limit
{
    font-size: 13px;
    line-height: 22px;

    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: auto;

    text-transform: uppercase;

    gap: 4px;
}


.catalogProducts .head .limit
{
    margin-left: 72px;
}


.catalogProducts .head select
{
    display: none;
}


.catalogProducts .head .nice-select
{
    position: relative;

    display: block;

    cursor: pointer;
}


.catalogProducts .head .nice-select .current
{
    display: block;
    overflow: hidden;

    padding-right: 24px;

    cursor: pointer;
    transition: .2s linear;
    white-space: nowrap;
    text-overflow: ellipsis;
}


.catalogProducts .head .nice-select .current:hover,
.catalogProducts .head .nice-select.open .current
{
    color: #9f9f9f;
}


.catalogProducts .head .nice-select-dropdown
{
    position: absolute;
    z-index: 9;
    top: 100%;
    right: 0;

    visibility: hidden;
    overflow: hidden;

    width: 205px;

    transition: .2s linear;
    transform: none;

    opacity: 0;
    border: 1px solid #ededed;
    background: #fff;
}

.catalogProducts .head .nice-select.open .nice-select-dropdown
{
    visibility: visible;

    transform: none;

    opacity: 1;
}


.catalogProducts .head .nice-select .list
{
    overflow: auto;

    border-radius: 0;
}

.catalogProducts .head .nice-select .list::-webkit-scrollbar
{
    width: 4px;
    height: 4px;
}


.catalogProducts .head .nice-select .list .option
{
    display: block;

    padding: 9px 19px;

    list-style-type: none;

    cursor: pointer;
    transition: .2s linear;
    text-transform: none;
}


.catalogProducts .head .nice-select .list .option:hover,
.catalogProducts .head .nice-select .list .option.selected
{
    color: #9f9f9f;
    background: #f5f5f5;
}


.catalogProducts .head .nice-select .list .option:empty
{
    display: none;
}


.catalogProducts .head .arr
{
    position: absolute;
    z-index: 5;
    top: 0;
    right: 4px;
    bottom: 0;

    display: block;

    width: 6px;
    height: 12px;
    margin: auto 0;

    transition: transform .2s linear;
    transform: rotate(-90deg);
    pointer-events: none;
}


.catalogProducts .head .nice-select.open + .arr
{
    transform: rotate(90deg);
}



.catalogProducts .swiper-button-next,
.catalogProducts .swiper-button-prev
{
    top: 0;
    bottom: auto;

    margin-top: -20px;
}



.catalogProducts .row {
    align-content: stretch;
    align-items: stretch;
    margin-bottom: 0px;
    margin-left: -5px;
    --bs-gutter-x: unset;
    --bs-gutter-y: unset;
    margin-right: 0;
    margin-top: 0;
}}


.catalogProducts .row > *
{
    width: calc(25% - 5px);
    margin-bottom: 40px;
    margin-left: 5px;
}



.catalogProducts .catalogProduct {
    position: relative;
    width: calc(25% - 5px);
    margin-bottom: 40px;
    margin-left: 5px;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin-top: 0;
    flex-shrink: inherit;
}


.catalogProducts .catalogProduct .stickers
{
    position: absolute;
    z-index: 3;
    top: 16px;
    left: 16px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 1px;
}


.catalogProducts .catalogProduct .sticker
{
    font-size: 12px;
    line-height: 16px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    height: 36px;
    padding: 0 10px;

    text-transform: uppercase;

    background: rgba(255,255,255,.5);

    gap: 4px;
}


.catalogProducts .catalogProduct .sticker .icon
{
    display: block;

    width: 8px;
    height: 9px;
}


.catalogProducts .catalogProduct .favorite_btn
{
    position: absolute;
    z-index: 3;
    top: 10px;
    right: 10px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
    width: 49px;
    height: 49px;
    border:none;
    transition: .2s linear;

    color: #888;
    border-radius: 50%;
    background: rgba(255,255,255,.5);
}


.catalogProducts .catalogProduct .favorite_btn .icon
{
    display: block;

    width: 23px;
    height: 20px;
}

.catalogProducts .catalogProduct .favorite_btn .icon + .icon
{
    display: none;
}


.catalogProducts .catalogProduct .favorite_btn:hover
{
    color: var(--text_color);
    background: #fff;
}


.catalogProducts .catalogProduct .favorite_btn.active
{
    color: var(--text_color);
    background: rgba(255,255,255,.5);
}


.catalogProducts .catalogProduct .favorite_btn.active .icon
{
    display: none;
}

.catalogProducts .catalogProduct .favorite_btn.active .icon + .icon
{
    display: block;
}


.catalogProducts .catalogProduct .swiper-horizontal > .swiper-pagination-bullets,
.catalogProducts .catalogProduct .swiper-pagination-bullets.swiper-pagination-horizontal,
.catalogProducts .catalogProduct .swiper-pagination-custom,
.catalogProducts .catalogProduct .swiper-pagination-fraction
{
    bottom: 0;
    flex-wrap: nowrap;
    width: 100%;
    height: 100%;
    gap: 0;
    position: absolute;
}


body .catalogProducts .catalogProduct .swiper-horizontal .swiper-pagination-bullet
{
    width: 100%;
    height: 100%;

    border: none;
    border-radius: 0;
    background: none;
}


.catalogProducts .catalogProduct .swiper-pagination-bullet:before
{
    display: none;
}


.catalogProducts .catalogProduct .swiper-pagination-bullet:after
{
    position: absolute;
    right: 0;
    bottom: 4px;
    left: 0;

    display: block;

    width: calc(100% - 4px);
    height: 2px;
    margin: 0 auto;

    content: '';
    transition: opacity .2s linear;
    pointer-events: none;

    opacity: 0;
    border-radius: 3px;
    background: #fff;
}


.catalogProducts .catalogProduct:hover .swiper-pagination-bullet:after
{
    opacity: .4;
}


.catalogProducts .catalogProduct .swiper-pagination-bullet:hover:after,
.catalogProducts .catalogProduct .swiper-pagination-bullet.active:after
{
    opacity: 1;
}


.catalogProducts .catalogProduct .thumb
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 133.403%;

    text-decoration: none;

    color: currentColor;
    background: #ddd;
}


.catalogProducts .catalogProduct .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.catalogProducts .catalogProduct .thumb img + img
{
    display: none;
}


.catalogProducts .catalogProduct .info
{
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;

    padding: 20px 20px 0;
}


.catalogProducts .catalogProduct .inline
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}


.catalogProducts .catalogProduct .brand
{
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;

    text-transform: uppercase;
}


.catalogProducts .catalogProduct .brand a
{
    text-decoration: none;

    color: currentColor;
}


.catalogProducts .catalogProduct .price
{
    font-size: 12px;
    font-weight: 700;
    line-height: 18px;

    margin-left: auto;

    text-align: right;
}


.catalogProducts .catalogProduct .price .old
{
    font-weight: 400;

    margin-left: 6px;

    text-decoration: line-through;

    color: #9f9f9f;
}


.catalogProducts .catalogProduct .name
{
    font-size: 12px;
    line-height: 18px;

    flex: 1 0 auto;

    width: 100%;
    margin-top: 10px;

    text-transform: uppercase;
}


.catalogProducts .catalogProduct .name a
{
    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}


.catalogProducts .catalogProduct .name a:hover
{
    color: #9f9f9f;
}


.catalogProducts .catalogProduct .articul
{
    font-size: 12px;
    line-height: 18px;
    /* margin-right: 20px; */

    width: 100%;
    margin-top: 10px;

    color: #9f9f9f;
}


.catalogProducts .catalogProduct .buy
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    gap: 20px;
}

.catalogProducts .catalogProduct .buy .productAddToCart .button.add_to_cart_button {
    text-transform: none;
    padding: 0 16px;
    border-radius: 4px;
}
.catalogProducts .catalogProduct .hiddenItem {
    display: none !important;
}

.catalogProducts .catalogProduct .points
{
    font-size: 12px;
    line-height: 18px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 10px;

    gap: 5px;
}


.catalogProducts .catalogProduct .points .icon
{
    display: block;

    width: 29px;
    height: 17px;
}


.catalogProducts .catalogProduct .buy_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 31px;
    height: 31px;
    margin-top: 10px;

        transition: .2s linear;

    border: 1px solid #000;
    border-radius: 50%;
}


.catalogProducts .catalogProduct .buy_btn .icon
{
    display: block;

    width: 15px;
    height: 16px;

    margin-bottom: 2px;
}


.catalogProducts .catalogProduct .buy_btn .icon + .icon
{
    display: none;
}


.catalogProducts .catalogProduct .buy_btn:hover
{
    color: #9f9f9f;
}

.catalogProducts .catalogProduct .buy_btn.active
{
    color: #fff;
    background: #000;
}

.catalogProducts .catalogProduct .buy_btn.active .icon
{
    display: none;
}

.catalogProducts .catalogProduct .buy_btn.active .icon + .icon
{
    display: block;
}


.catalogProducts .catalogProduct:hover .thumb img
{
       display: none;
}

.catalogProducts .catalogProduct:hover .thumb img:last-child
{
    display: block;
}

.catalogProducts .pagination {
    display: block;
    padding-left: unset;
    margin: unset;
    border-radius: unset;
}

.catalogProducts .pagination
{
    margin-top: 68px;

    text-align: center;
}


.catalogProducts .pagination .count
{
    font-size: 12px;
    line-height: 20px;

    margin-bottom: 16px;

    color: #9f9f9f;
}


.catalogProducts .pagination .links
{
    font-size: 16px;
    line-height: 20px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    color: #9f9f9f;

    gap: 36px;
}


.catalogProducts .pagination .links a
{
    transition: color .2s linear;
    text-decoration: none;

    color: currentColor;
}


.catalogProducts .pagination .links a.prev,
.catalogProducts .pagination .links a.next
{
    color: var(--text_color);
}


.catalogProducts .pagination .links a .icon
{
    display: block;

    width: 25px;
    height: 11px;
}

.catalogProducts .pagination .links a.prev .icon
{
    transform: rotate(180deg);
}


.catalogProducts .pagination .links a:hover,
.catalogProducts .pagination .links a.active
{
    color: var(--text_color);
}


.catalogProducts .pagination .links a.prev:hover,
.catalogProducts .pagination .links a.next:hover
{
    color: #9f9f9f;
}


.catalogProducts .pagination .more_btn
{
    font-size: 12px;
    line-height: 20px;

    display: inline-block;

    width: 200px;
    max-width: 100%;
    margin-top: 20px;
    padding: 9px 19px;

    transition: .2s linear;
    vertical-align: top;
    text-decoration: none;
    text-transform: uppercase;

    color: currentColor;
    border: 1px solid #d8d8d8;
    cursor: pointer;
}


.catalogProducts .pagination .more_btn:hover
{
    border-color: var(--text_color);
}


.catalogProducts .pagination .more_btn:active
{
    border-color: #d8d8d8;
    background: #d8d8d8;
}





/*---------------------
    Discount banner
---------------------*/
.discount_banner
{
    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 1000px;
    max-height: 100vh;

    text-align: center;
}


.discount_banner .cont
{
    position: relative;
    z-index: 3;
}


.discount_banner .title
{
    font-size: 40px;
    line-height: calc(100% + 16px);

    margin-bottom: 48px;

    text-transform: uppercase;

    color: #ffffff;
}


.discount_banner .line
{
    display: block;

    width: 100px;
    height: 1px;
    margin: 0 auto 48px;

    background: #ffffff;
}


.discount_banner .socials
{
    font-size: 18px;
    line-height: 22px;

    display: flex;
    flex-direction: column;

    text-transform: uppercase;

    color: #ffffff;

    gap: 28px;
}


.discount_banner .socials .row
{
    align-content: center;
    align-items: center;
    justify-content: center;

    gap: 40px;
}


.discount_banner .socials a
{
    display: block;

    transition: color .2s linear;
    text-decoration: none;

    color: #ffffff;
}


.discount_banner .socials .icon
{
    display: block;

    width: 20px;
    height: 20px;
}


.discount_banner .socials .tg_link .icon
{
    width: 24px;
}


.discount_banner .socials .vk_link .icon
{
    width: 28px;
}


.discount_banner .socials a:hover
{
    color: #7d7164;
}


.discount_banner .bg,
.discount_banner .mob_bg
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.discount_banner .mob_bg
{
    display: none;
}



/*--------------------
    Sub categories
--------------------*/
.sub_categories
{
    margin-bottom: 32px;
}


.sub_categories .swiper-slide
{
    width: auto;
}


.sub_categories .swiper-button-next,
.sub_categories .swiper-button-prev
{
    background: #fff;
}


.sub_categories .swiper-button-prev
{
    left: -10px;
}

.sub_categories .swiper-button-next
{
    right: -10px;
}


.sub_categories .swiper-button-next.swiper-button-disabled,
.sub_categories .swiper-button-prev.swiper-button-disabled
{
    display: none;
}


.sub_categories .link
{
    font-size: 12px;
    line-height: 20px;

    display: block;

    padding: 4px 19px;

    transition: .2s linear;
    text-decoration: none;

    color: currentColor;
    border: 1px solid #000;
}


.sub_categories .link:hover,
.sub_categories .link.active
{
    color: #fff;
    border-color: #000;
    background: #000;
}

.form
{
    --form_border_color: #ededed;
    --form_focus_color: #000;
    --form_error_color: #d63939;
    --form_bg_color: none;
    --form_placeholder_color: #9f9f9f;
}


.form ::-webkit-input-placeholder
{
    color: var(--form_placeholder_color);
}

.form :-moz-placeholder
{
    color: var(--form_placeholder_color);
}

.form ::-moz-placeholder
{
    opacity: 1;
    color: var(--form_placeholder_color);
}

.form :-ms-input-placeholder
{
    color: var(--form_placeholder_color);
}


.form .columns
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: calc(var(--form_columns_offset) * -1);

    --form_columns_offset: 30px;
}

.form .columns > *
{
    width: calc(50% - var(--form_columns_offset));
    margin-left: var(--form_columns_offset);
}


.form .columns > *.width1of3
{
    width: calc(33.333% - var(--form_columns_offset));
}

.form .columns > *.width2of3
{
    width: calc(66.666% - var(--form_columns_offset));
}


.form .columns > *.width1of6
{
    width: calc(16.666% - var(--form_columns_offset));
}

.form .columns > *.width2of6
{
    width: calc(33.333% - var(--form_columns_offset));
}


.form .line
{
    margin-bottom: 22px;
}


.form .field
{
    position: relative;
}


.form .input
{
    font-family: var(--font_family);
    font-size: var(--font_size);

    display: block;

    width: 100%;
    height: 40px;

    transition: border-color .2s linear;

    color: var(--text_color);
    border: none;
    border-bottom: 1px solid var(--form_border_color);
    background: var(--form_bg_color);
}

.form .input:-webkit-autofill
{
    -webkit-box-shadow: inset 0 0 0 50px var(--form_bg_color) !important;
}


.form textarea
{
    font-family: var(--font_family);
    font-size: var(--font_size);

    display: block;

    width: 100%;
    height: 100px;
    padding: 14px 0;

    resize: none;
    transition: border-color .2s linear;

    color: var(--text_color);
    border: none;
    border-bottom: 1px solid var(--form_border_color);
    background: var(--form_bg_color);
}

.form textarea::-webkit-scrollbar
{
    width: 5px;
    height: 5px;
}


.form .input:focus,
.form textarea:focus,
.form .input:not(:placeholder-shown),
.form textarea:not(:placeholder-shown)
{
    border-color: var(--form_focus_color);
}


.form .error
{
    border-color: var(--form_error_color);
}


.form .error_text
{
    font-size: 12px;
    line-height: 18px;

    margin-top: 5px;

    color: var(--form_error_color);
}


.form select
{
    display: none;
}


.form .nice-select
{
    position: relative;

    display: block;

    cursor: pointer;
}


.form .nice-select .current
{
    line-height: 39px;

    display: block;
    overflow: hidden;

    padding-right: 18px;

    cursor: pointer;
    white-space: nowrap;
    text-overflow: ellipsis;

    border: none;
    border-bottom: 1px solid var(--form_border_color);
    background: var(--form_bg_color);
}

.form .nice-select .current.selected
{
    border-color: var(--form_focus_color);
}


.form .nice-select-dropdown
{
    position: absolute;
    z-index: 9;
    top: 100%;
    left: 0;

    visibility: hidden;
    overflow: hidden;

    width: 100%;
    margin-top: -1px;

    transition: .2s linear;
    transform: none;

    opacity: 0;
    border: 1px solid #ededed;
    background: #fff;
}

.form .nice-select.open .nice-select-dropdown
{
    visibility: visible;

    transform: none;

    opacity: 1;
}


.form .nice-select .list
{
    overflow: auto;

    border-radius: 0;
}

.form .nice-select .list::-webkit-scrollbar
{
    width: 4px;
    height: 4px;
}


.form .nice-select .list .option
{
    display: block;

    padding: 9px 19px;

    list-style-type: none;

    cursor: pointer;
    transition: .2s linear;
    text-transform: none;
}


.form .nice-select .list .option:hover,
.form .nice-select .list .option.selected
{
    color: #9f9f9f;
    background: #f5f5f5;
}


.form .nice-select .list .option:empty
{
    display: none;
}


.form select ~ .arr
{
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    bottom: 0;

    display: block;

    width: 6px;
    height: 12px;
    margin: auto 0;

    transition: transform .2s linear;
    transform: rotate(-90deg);
    pointer-events: none;
}


.form .nice-select.open + .arr
{
    transform: rotate(90deg);
}


.form .exp
{
    font-size: 12px;
    line-height: 20px;

    margin-top: 12px;

    color: #9f9f9f;
}


.form .checkbox
{
    font-size: 12px;
    line-height: 20px;

    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 20px;
    padding-left: 23px;

    cursor: pointer;
}


.form .checkbox input
{
    display: none;
}


.form .checkbox .check
{
    position: absolute;
    top: 3px;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 14px;
    height: 14px;

    transition: .2s linear;

    border: 1px solid;
    border-radius: 2px;
}


.form .checkbox .check .icon
{
    position: absolute;
    bottom: -1px;
    left: -1px;

    display: block;

    width: 16px;
    height: 14px;

    transition: opacity .2s linear;

    opacity: 0;
}


.form .checkbox a
{
    transition: color .2s linear;

    color: currentColor;
}


.form .checkbox a:hover
{
    text-decoration: none;

    color: #9f9f9f;
}


.form .checkbox:hover .check
{
    color: #9f9f9f;
    border-color: transparent;
}

.form .checkbox:hover .icon
{
    opacity: 1;
}


.form .checkbox input:checked ~ .check
{
    color: var(--text_color);
    border-color: transparent;
}

.form .checkbox input:checked ~ .check .icon
{
    opacity: 1;
}


.form .radio
{
    line-height: 22px;

    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 22px;
    padding-left: 23px;

    cursor: pointer;
}


.form .radio input
{
    display: none;
}


.form .radio .check
{
    position: absolute;
    top: 4px;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 14px;
    height: 14px;

    border: 1px solid;
    border-radius: 50%;
}


.form .radio .check:after
{
    position: absolute;

    display: block;

    width: 6px;
    height: 6px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;

    opacity: 0;
    border-radius: 50%;
    background: currentColor;

    inset: 0;
}


.form .radio .tooltip
{
    position: relative;
    top: -1px;

    display: inline-block;

    margin-left: 4px;

    vertical-align: middle;
    pointer-events: auto;
}


.form .radio .tooltip .icon
{
    display: block;

    width: 18px;
    height: 18px;

    transition: color .2s linear;

    color: #9f9f9f;
}


.form .radio .tooltip .text
{
    font-size: 12px;
    line-height: 18px;

    position: absolute;
    bottom: 100%;
    left: 50%;

    display: none;

    margin-bottom: 10px;
    padding: 9px 19px;

    transform: translateX(-50%);
    text-align: center;
    white-space: nowrap;

    color: var(--text_color);
    border: 1px solid #ededed;
    background: var(--bg);
}


.form .radio .tooltip:hover .icon
{
    color: var(--text_color);
}

.form .radio .tooltip:hover .text
{
    display: block;
}


.form .radio input:checked ~ .check:after
{
    opacity: 1;
}


.form .birthday
{
    position: relative;

    width: 108px;
}


.form .birthday .label
{
    line-height: 22px;

    position: absolute;
    bottom: 100%;
    left: 0;

    color: #9f9f9f;
}


.form .birthday .icon
{
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;

    width: 16px;
    height: 15px;
    margin: auto 0;

    pointer-events: none;
}


.form .gender
{
    position: relative;

    width: auto;
}


.form .gender .label
{
    line-height: 22px;

    position: absolute;
    bottom: 100%;
    left: 0;

    color: #9f9f9f;
}


.form .gender .field
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    height: 40px;

    gap: 28px;
}


.form .file .selected
{
    margin-bottom: 20px;
}


.form .file .selected > *
{
    line-height: 22px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: 9px 13px;

    background: #f9f9f9;
}


.form .file .selected > * span
{
    width: calc(100% - 28px);
}


.form .file .selected .remove_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 14px;
    height: 14px;
}


.form .file .selected .remove_btn svg
{
    display: block;

    width: 12px;
    height: 12px;
}


.form .file label
{
    line-height: 22px;

    display: block;

    cursor: pointer;
    text-transform: uppercase;
}


.form .file label input
{
    display: none;
}


.form .file label div
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-start;
}


.form .file label .icon
{
    display: block;

    width: 17px;
    min-width: 17px;
    height: 17px;
    margin-right: 9px;
}


.form .file label span
{
    max-width: 100%;
}


.form .file label .tooltip
{
    position: relative;

    margin-left: 8px;

    pointer-events: auto;
}


.form .file label .tooltip .icon
{
    display: block;

    width: 18px;
    height: 18px;

    transition: color .2s linear;

    color: #9f9f9f;
}


.form .file label .tooltip .text
{
    font-size: 12px;
    line-height: 18px;

    position: absolute;
    bottom: 100%;
    left: 50%;

    display: none;

    margin-bottom: 10px;
    padding: 9px 19px;

    transform: translateX(-50%);
    text-align: center;
    white-space: nowrap;

    color: var(--text_color);
    border: 1px solid #ededed;
    background: var(--bg);
}


.form .file label .tooltip:hover .icon
{
    color: var(--text_color);
}

.form .file label .tooltip:hover .text
{
    display: block;
}


.form .submit
{
    padding-top: 18px;
}

.form .submit.small_p
{
    padding-top: 8px;
}


.form .submit_btn
{
    font-size: 12px;
    line-height: 20px;

    display: block;

    width: 100%;
    height: 40px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid var(--text_color);
}


.form .submit_btn:hover
{
    color: #fff;
    background: var(--text_color);
}


.form .submit_btn:active
{
    color: var(--text_color);
    border-color: #d8d8d8;
    background: #d8d8d8;
}


.grid {}

.grid .bx_content_section { margin-bottom: 15px; }

.grid .bx_sidebar { margin-bottom: 15px; }

/* grid2x1 */
.grid2x1 {}

.grid2x1 .bx_content_section {
    float: left;
    width: 66%;
    margin-bottom: 15px;
}

.grid2x1 .bx_sidebar {
    float: right;
    width: 33%;
    margin-bottom: 15px;
    padding-left: 5%;
    box-sizing: border-box;
}

@media (max-width: 960px) {
    .grid2x1 .bx_sidebar { padding-left: 4%; }
}

@media (max-width: 640px) {
    .grid2x1 .bx_content_section,
    .grid2x1 .bx_sidebar {
        width: 100%;
        float: none;
    }

    .grid2x1 .bx_sidebar { padding-left: 3%; }
}

@media (max-width: 479px) {
    .grid2x1 .bx_sidebar { padding-left: 1%; }
}

.catalog-block-header {
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    margin: 5px 0;
    padding: 5px 0;
    border-bottom: 2px solid #d9dee6;
    border-bottom-color: var(--primary);
    color: #000;
}

@media (max-width: 640px) {
    .cont {
        padding: 0 20px;
    }
    .catalogProducts .head {
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }
    .catalogProducts .head .sort, .catalogProducts .head .limit {
        position: relative;
        margin-left: 0;
    }
    .catalogProducts .row .catalogProduct {
        width: calc(50% - 5px);
    }
    .catalogProducts .catalogProduct .info {
        padding: 12px 8px;
    }
    .catalogProducts .catalogProduct .brand, .catalogProducts .catalogProduct .points {
        width: 100%;
    }
    .catalogProducts .catalogProduct .buy .productAddToCart, .catalogProducts .catalogProduct .buy .productAddToCart .button.add_to_cart_button {
        width: 100%;
    }
    .catalogProducts .catalogProduct .points {
        width: 100%;
        justify-content: space-between;
    }
    .catalogProducts .catalogProduct .price {
        width: 100%;
        margin-top: 2px;
        margin-left: 0;
        text-align: left;
    }
}