/*------------------
    Reset styles
------------------*/
*
{
    box-sizing: border-box;
    margin: 0;
    padding: 0;

    scroll-margin-top: 24px;
}

*:before,
*:after
{
    box-sizing: border-box;
}

html
{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body
{
    margin: 0;

    overscroll-behavior: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-overflow-scrolling: touch;
    text-rendering: optimizeLegibility;
    text-decoration-skip: objects;
}

img
{
    border-style: none;
}

textarea
{
    overflow: auto;
}

input,
textarea,
input:active,
textarea:active,
button
{
    margin: 0;

    -webkit-border-radius: 0;
    border-radius: 0;
    outline: none transparent !important;
    box-shadow: none;

    -webkit-appearance: none;
    appearance: none;
    -moz-outline: none !important;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button
{
    margin: 0;

    -webkit-appearance: none;
}

input[type=number]
{
    -moz-appearance: textfield;
}

:focus
{
    outline: 0;
}

:hover,
:active
{
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-touch-callout: none;
}


::-ms-clear
{
    display: none;
}



/*-------------------
    Global styles
-------------------*/
:root
{
    --bg: #fff;
    --sidebar_width: 310px;
    --scroll_width: 17px;
    --text_color: #222;
    --font_size: 16px;
    --font_size_title: 40px;
    --font_family: 'Open Sans', 'Arial', sans-serif;
    --font_family2: 'Inter', 'Arial', sans-serif;
    --font_family3: 'Zilla Slab', 'Arial', sans-serif;
}


::selection
{
    color: #fff;
    background: #222;
}

::-moz-selection
{
    color: #fff;
    background: #222;
}



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: #222;
}

html.custom_scroll
{
    scrollbar-color: #222 var(--bg);
    scrollbar-width: thin;
}


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.menu_open
{
    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-width: 375px;
    min-height: 100%;

    background: var(--bg);
}


.main
{
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
}


.cont
{
    width: 100%;
    max-width: 1348px;
    margin: 0 auto;
    padding: 0 24px;
}


.lazyload,
.swiper-lazy
{
    transition: opacity .5s linear;

    opacity: 0;
}

.lazyload.loaded,
.swiper-lazy-loaded
{
    opacity: 1;
}


.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) - 20px);
}


.content_flex .content > *:first-child
{
    margin-top: 0;
}

.content_flex .content > *:last-child
{
    margin-bottom: 0;
}



.block
{
    margin-bottom: 65px;
}

.block.bg
{
    padding: 65px 0;

    background: #fefdf8;
}

.block.no_m
{
    margin-bottom: 0;
}



.overlay
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    opacity: .65;
    background: #000;
}



/*--------------
    All link
--------------*/
.all_link
{
    margin-top: 37px;

    text-align: center;
}


.all_link a
{
    font-size: 13px;
    line-height: 20px;

    display: inline-block;

    width: 200px;
    padding: 10px;

    text-align: center;
    vertical-align: top;
    text-decoration: none;

    color: currentColor;
    border-radius: 6px;
    background: #f7dab8;
}



/*--------------
    Fancybox
--------------*/
.fancybox__backdrop
{
    background: rgba(34, 34, 34, .8);
}


.fancybox__slide
{
    padding: 40px;
}


.fancybox__content
{
    padding: 0;

    background: none;
}


.fancybox__content > .carousel__button.is-close
{
    top: 41px;
    right: 46px;

    width: 20px;
    height: 20px;

    color: currentColor;
}

.fancybox__content > .carousel__button.is-close svg
{
    display: block;

    width: 20px;
    height: 20px;

    filter: none;
    stroke: none;
    stroke-width: 1px;
}



/*----------------
    Pagination
----------------*/
.pagination
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 40px;
}


.pagination .links
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
}


.pagination .links > * + *
{
    margin-left: 10px;
}

.pagination .links a
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 42px;
    height: 42px;

    transition: .2s linear;
    text-decoration: none;

    color: currentColor;
    border: 1px solid;
    border-radius: 50%;
}

.pagination .links .sep
{
    display: flex;
    align-content: flex-end;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: center;

    width: 42px;
    height: 42px;

    text-align: center;
}


.pagination .links a:hover,
.pagination .links a.active
{
    border-color: #f7dab8;
    background: #f7dab8;
}


.pagination .all_link
{
    margin-top: 0;
    margin-left: auto;
}



/*----------------
    Mini modal
----------------*/
.modal_cont
{
    position: relative;
}


.mini_modal
{
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;

    visibility: hidden;

    margin-top: 10px;

    transition: .2s linear;
    pointer-events: none;

    opacity: 0;
}

.mini_modal.active
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}



/*---------------
    Accordion
---------------*/
.accordion_item
{
    border: 1px dashed rgba(34, 34, 34, .25);
    border-radius: 10px;
}

.accordion_item + .accordion_item
{
    margin-top: 14px;
}


.accordion_item .head
{
    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 63px;
    padding: 13px 59px 16px 21px;

    cursor: pointer;
}


.accordion_item .head .title
{
    font-size: 14px;
    line-height: 118.9%;

    width: 492px;
    max-width: 100%;
}


.accordion_item .head .icon
{
    position: absolute;
    top: 0;
    right: 36px;
    bottom: 0;

    display: block;

    width: 15px;
    height: 9px;
    margin: auto 0;

    transition: transform .2s linear;
}


.accordion_item .data
{
    display: none;

    padding: 16px 21px 21px;
}


.accordion_item .data .text_block
{
    width: 555px;
    max-width: 100%;
}


.accordion_item.active .head .title
{
    font-weight: 700;
}

.accordion_item.active .head .icon
{
    transform: rotate(180deg);
}



/*------------
    Header
------------*/
header
{
    position: relative;
    z-index: 9;
    top: 0;
    left: 0;

    width: 100%;
}


header .top
{
    border-bottom: 1px solid #efefef;
}


header .bottom
{
    border-bottom: 1px solid #efefef;
}


header .cont
{
    align-content: center;
    align-items: center;
    justify-content: space-between;
}



header .logo
{
    display: block;

    text-decoration: none;

    color: currentColor;
}

header .logo img
{
    display: block;
}



header .search
{
    width: 336px;
    max-width: 100%;
    margin: 0 auto;
}


header .search form
{
    position: relative;
}


header .search ::-webkit-input-placeholder
{
    color: var(--form_placeholder_color);
}

header .search :-moz-placeholder
{
    color: var(--form_placeholder_color);
}

header .search ::-moz-placeholder
{
    opacity: 1;
    color: var(--form_placeholder_color);
}

header .search :-ms-input-placeholder
{
    color: var(--form_placeholder_color);
}


header .search .input
{
    font-family: var(--font_family);
    font-size: 14px;

    display: block;

    width: 100%;
    height: 41px;
    padding-right: 60px;
    padding-left: 18px;

    color: var(--text_color);
    border: 1px solid #efefef;
    border-radius: 5px;
}


header .search .submit_btn
{
    position: absolute;
    z-index: 3;
    top: 0;
    right: 23px;
    bottom: 0;

    width: 20px;
    height: 20px;
    margin: auto 0;
}


header .search .submit_btn .icon
{
    display: block;

    width: 20px;
    height: 20px;
}



header .delivery_time
{
    font-family: var(--font_family2);
    font-size: 12px;
    font-style: italic;

    margin: 0 auto;
}



header .phone
{
    font-family: var(--font_family2);
    font-size: 14px;
    font-weight: 600;
}


header .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



header .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 50px;
}


header .messengers a
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 28px;
    height: 28px;

    text-decoration: none;

    color: #fff;
    border-radius: 50%;
}

header .messengers a + a
{
    margin-left: 8px;
}

header .messengers a.whatsapp_link
{
    background: #47c559;
}

header .messengers a.telegram_link
{
    background: #3aa8e6;
}


header .messengers a .icon
{
    display: block;
}

header .messengers a.whatsapp_link .icon
{
    width: 11px;
    height: 11px;
}

header .messengers a.telegram_link .icon
{
    width: 13px;
    height: 10px;
}



header .sep
{
    width: 1px;
    height: 105px;
    margin-left: 49px;

    background: #efefef;
}



header .btns
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 40px;
}

header .btns > * + *
{
    margin-left: 24px;
}



header .favorite_link
{
    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 24px;
    height: 23px;

    text-decoration: none;

    color: currentColor;
}


header .favorite_link .icon
{
    display: block;

    width: 24px;
    height: 23px;
}



header .cart_link
{
    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 24px;
    height: 23px;

    text-decoration: none;

    color: currentColor;
}


header .cart_link .count
{
    font-size: 10px;
    line-height: 17px;

    position: absolute;
    top: -4px;
    right: -8px;

    width: 17px;
    height: 17px;

    text-align: center;

    border-radius: 50%;
    background: #f7dab8;
}


header .cart_link .icon
{
    display: block;

    width: 24px;
    height: 23px;
}



header .account .link
{
    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 24px;
    height: 23px;

    text-decoration: none;

    color: currentColor;
}


header .account .link .icon
{
    display: block;

    width: 24px;
    height: 23px;
}



header .mob_menu_btn
{
    display: none;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 24px;
    height: 24px;
}


header .mob_menu_btn span
{
    position: relative;

    display: block;

    width: 100%;
    height: 1px;

    background: currentColor;
}

header .mob_menu_btn span:before,
header .mob_menu_btn span:after
{
    position: absolute;
    top: -7px;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background: currentColor;
}

header .mob_menu_btn span:after
{
    top: 7px;
}



header .menu
{
    justify-content: space-between;
}


header .menu_item
{
    position: relative;
}


header .menu_item > a
{
    font-size: var(--font_size);
    font-weight: 600;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 60px;

    text-decoration: none;

    color: var(--text_color);
}


header .menu_item > a .icon
{
    position: relative;
    top: 2px;

    display: block;

    width: 10px;
    height: 7px;
    margin-left: 8px;
}


header .sub_menu
{
    position: absolute;
    z-index: 9;
    top: 100%;
    left: 0;

    visibility: hidden;

    width: 238px;
    margin-top: 5px;

    transition: .2s linear;
    pointer-events: none;

    opacity: 0;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(34, 34, 34, .25);
}

header .menu_item:last-child > .sub_menu
{
    right: 0;
    left: auto;
}

header .sub_menu:after
{
    position: absolute;
    z-index: 3;
    bottom: 100%;
    left: 19px;

    display: block;

    width: 4px;
    height: 6px;

    content: '';

    border-right: 2px solid transparent;
    border-bottom: 6px solid #fff;
    border-left: 2px solid transparent;
}

header .sub_menu:before
{
    position: absolute;
    bottom: 100%;
    left: 0;

    display: block;

    width: 100%;
    height: 5px;

    content: '';
}

header .menu_item:hover > a.touch_link + .sub_menu
{
    visibility: hidden;

    pointer-events: none;

    opacity: 0;
}

header .menu_item:hover .sub_menu,
header .menu_item > a.touch_link + .sub_menu.show
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


header .sub_menu > * + *
{
    border-top: 1px solid #efefef;
}


header .sub_menu a
{
    font-family: var(--font_family3);
    font-size: 14px;
    font-weight: 500;
    line-height: 91%;

    display: block;

    padding: 19px;

    text-decoration: none;

    color: currentColor;
}



header.fixed
{
    position: fixed;

    animation: moveDown .5s;

    background: var(--bg);
}


header.fixed .top
{
    display: none;
}


@keyframes moveDown
{
    0%
    {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
}



/*---------------
    Mob. menu
---------------*/
.mob_menu
{
    position: fixed;
    z-index: 999999;
    top: 0;
    right: 100%;

    width: 325px;
    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;
    margin: 0;
    padding: 0;

    transition: transform .3s linear;

    background: #fff;
}

.mob_menu.show
{
    transform: translateX(100%);
}



.mob_menu .close_btn
{
    position: absolute;
    top: 0;
    left: 100%;

    display: none;

    width: 50px;
    height: 50px;

    cursor: pointer;

    border: none;
    background: none;
}


.mob_menu .close_btn:before,
.mob_menu .close_btn:after
{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 50%;
    height: 2px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    background: #fff;
}

.mob_menu .close_btn:after
{
    transform: rotate(-45deg);
}


.mob_menu.show .close_btn
{
    display: block;
}



.mob_menu .scroll
{
    display: flex;
    overflow: auto;
    flex-direction: column;

    height: 100%;
    min-height: -moz-available;
    min-height: -webkit-fill-available;
    min-height:         fill-available;
    padding: 20px;

    overscroll-behavior-y: contain;
}



.mob_menu .menu_item + .menu_item
{
    border-top: 1px solid #efefef;
}


.mob_menu .menu_item > a
{
    font-size: 15px;
    font-weight: 600;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: 12px 0;

    text-decoration: none;

    color: var(--text_color);
}


.mob_menu .menu_item > a .icon
{
    position: relative;
    top: 2px;

    display: block;

    width: 10px;
    height: 7px;
    margin-left: 8px;
}


.mob_menu .sub_menu
{
    display: none;
    visibility: hidden;

    width: 100%;

    border-radius: 5px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(34, 34, 34, .25);
}


.mob_menu .menu_item > a.touch_link + .sub_menu.show
{
    display: block;
    visibility: visible;
}


.mob_menu .sub_menu > * + *
{
    border-top: 1px solid #efefef;
}


.mob_menu .sub_menu a
{
    font-family: var(--font_family3);
    font-size: 14px;
    font-weight: 500;
    line-height: 91%;

    display: block;

    padding: 14px 20px 13px;

    text-decoration: none;

    color: currentColor;
}



.mob_menu .contacts
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: auto;
    padding-top: 40px;
}



.mob_menu .delivery_time
{
    font-family: var(--font_family2);
    font-size: 12px;
    font-style: italic;

    width: 100%;
    margin-top: 10px;
}



.mob_menu .phone
{
    font-family: var(--font_family2);
    font-size: 14px;
    font-weight: 600;
}


.mob_menu .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



.mob_menu .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: auto;
}


.mob_menu .messengers a
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 28px;
    height: 28px;

    text-decoration: none;

    color: #fff;
    border-radius: 50%;
}

.mob_menu .messengers a + a
{
    margin-left: 8px;
}

.mob_menu .messengers a.whatsapp_link
{
    background: #47c559;
}

.mob_menu .messengers a.telegram_link
{
    background: #3aa8e6;
}


.mob_menu .messengers a .icon
{
    display: block;
}

.mob_menu .messengers a.whatsapp_link .icon
{
    width: 11px;
    height: 11px;
}

.mob_menu .messengers a.telegram_link .icon
{
    width: 13px;
    height: 10px;
}



/*-------------
    Sidebar
-------------*/
aside
{
    position: relative;

    width: var(--sidebar_width);
    max-width: 100%;
}



aside .links
{
    padding: 40px;

    border-radius: 10px;
    background: #f9f9fa;
}

aside .links > * + *
{
    margin-top: 12px;
}


aside .links a
{
    font-size: 14px;

    display: inline-block;

    vertical-align: top;
    text-decoration: none;
    text-transform: uppercase;

    color: currentColor;
}


aside .links a:hover
{
    text-decoration: underline;
}


aside .links a.active
{
    font-weight: 600;

    text-decoration: underline;
}



aside .filter
{
    position: sticky;
    top: 20px;
}


aside .filter .mob_filter_btn
{
    line-height: 20px;

    display: none;

    width: 100%;
    padding: 10px;

    border-radius: 6px;
    background: #f7dab8;
}


aside .filter .item + .item
{
    margin-top: 40px;
}


aside .filter .name
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    cursor: pointer;
    text-transform: uppercase;
}


aside .filter .name span
{
    width: calc(100% - 40px);
}


aside .filter .name .icon
{
    display: block;

    width: 15px;
    height: 9px;
    margin-left: auto;

    transition: .2s linear;
}

aside .filter .name.active .icon
{
    transform: rotate(180deg);
}


aside .filter .data
{
    display: none;

    padding-top: 20px;
}

aside .filter .data.visible
{
    display: block;
}


aside .filter .field + .field
{
    margin-top: 10px;
    padding-top: 10px;

    border-top: 1px solid #efefef;
}


aside .filter .range
{
    display: flex !important;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}


aside .filter .range .field
{
    width: calc(50% - 7px);
}

aside .filter .range .field + .field
{
    margin: 0;
    padding: 0;

    border: none;
}


aside .filter .range .label
{
    font-size: 10px;

    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    height: 100%;
    padding-top: 1px;
    padding-left: 15px;

    text-transform: uppercase;
    pointer-events: none;

    color: rgba(34, 34, 34, .25);
}


aside .filter .range .input
{
    font-size: 14px;

    height: 40px;
    padding-left: 33px;

    text-transform: uppercase;

    color: rgba(34, 34, 34, .25);
}


aside .filter .range .irs
{
    width: 100%;
}


aside .filter .colors
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: -10px;
    margin-left: -10px;
}


aside .filter .colors > *
{
    margin-bottom: 10px;
    margin-left: 10px;
}


aside .filter .colors .field + .field
{
    margin-top: 0;
    padding: 0;

    border: none;
}


aside .filter .colors .checkbox
{
    width: 35px;
    height: 35px;
    padding: 0;

    border-radius: 50%;
}


aside .filter .colors .checkbox .check
{
    width: 100%;
    height: 100%;

    border: none;
    border-radius: inherit;
}


aside .filter .colors .checkbox img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


aside .filter .colors .checkbox input:checked ~ .check
{
    border: none;
    background: none;
}


aside .filter .btns
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 40px;
}


aside .filter .btns .btn
{
    font-size: 13px;

    display: block;

    width: calc(50% - 5px);
    padding: 9px;

    transition: .2s linear;

    border: 1px solid #222;
    border-radius: 5px;
}

aside .filter .btns .btn:hover
{
    color: #fff;
    background: var(--text_color);
}



/*---------------
    Page head
---------------*/
.page_head
{
    margin-bottom: 40px;

    border-bottom: 1px solid #efefef;
}

.page_head.no_m
{
    margin-bottom: 0;
}

.page_head.no_b
{
    border: none;
}



.breadcrumbs
{
    font-size: 14px;

    padding: 15px 0;

    border-bottom: 1px solid #efefef;
}


.breadcrumbs a
{
    transition: color .2s linear;
    text-decoration: none;

    color: currentColor;
}


.breadcrumbs .sep
{
    display: inline-block;

    margin: 0 4px;

    vertical-align: top;
}



.page_title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: 97.523%;

    display: block;

    padding: 20px 0;

    text-transform: uppercase;
}



/*----------------
    Block head
----------------*/
.block_head
{
    margin-bottom: 40px;
}

.block_head.center
{
    text-align: center;
}


.block_head .title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: 97.523%;

    display: block;

    text-transform: uppercase;
}



/*-------------------
    Form elements
-------------------*/
.form
{
    counter-reset: number;

    --form_border_color: #efefef;
    --form_focus_color: var(--text_color);
    --form_error_color: red;
    --form_border_radius: 5px;
    --form_bg_color: transparent;
    --form_placeholder_color: rgba(34, 34, 34, .25);
}


.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 .section + .section
{
    margin-top: 40px;
}


.form .section .title
{
    font-weight: 500;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-bottom: 20px;

    text-transform: uppercase;
}


.form .section .title .number
{
    font-weight: 400;
    line-height: 40px;

    width: 40px;
    height: 40px;
    margin-right: 20px;

    text-align: center;

    border-radius: 7px;
    background: #f7dab8;
}

.form .section .title .number + *
{
    align-self: center;

    width: calc(100% - 60px);
}

.form .section .title .number:before
{
    content: counter(number);
    counter-increment: number;
}


.form .line
{
    margin-bottom: 10px;
}


.form .field
{
    position: relative;
}

.form .field + .field
{
    margin-top: 10px;
}


.form .input
{
    font-family: var(--font_family);
    font-size: var(--font_size);

    display: block;

    width: 100%;
    height: 48px;
    padding: 0 18px;

    transition: border-color .2s linear;

    color: var(--text_color);
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    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: 164px;
    padding: 18px;

    resize: none;
    transition: border-color .2s linear;

    color: var(--text_color);
    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form textarea::-webkit-scrollbar
{
    width: 5px;
    height: 5px;
}


.form .input:focus,
.form textarea:focus
{
    border-color: var(--form_focus_color);
}


.form .error
{
    border-color: var(--form_error_color);
}


.form .checkbox
{
    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 25px;
    padding-left: 35px;

    cursor: pointer;
}


.form .checkbox input
{
    display: none;
}


.form .checkbox .check
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 25px;
    height: 25px;

    transition: .2s linear;

    border: 1px solid var(--form_border_color);
    border-radius: var(--form_border_radius);
    background: var(--form_bg_color);
}

.form .checkbox .check:after
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 11px;
    height: 5px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 1px solid;
    border-left: 1px solid;
}


.form .checkbox span
{
    color: rgba(34, 34, 34, .25);
}


.form .checkbox input:checked ~ .check
{
    border-color: #f7dab8;
    background: #f7dab8;
}

.form .checkbox input:checked ~ .check:after
{
    opacity: 1;
}


.form .submit
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    padding-top: 10px;
}


.form .submit_btn
{
    display: block;

    width: 308px;
    max-width: 100%;
    height: 57px;

    text-transform: uppercase;

    border-radius: 9px;
    background: #f7dab8;
}


.form .agree
{
    font-size: 14px;

    color: rgba(34, 34, 34, .25);
}

.form .submit .agree
{
    align-self: center;

    width: 332px;
    max-width: calc(100% - 348px);
    margin-right: auto;
    margin-left: 40px;
}


.form .agree a
{
    white-space: nowrap;

    color: var(--text_color);
}



/*----------------
    Typography
----------------*/
.text_block
{
    font-size: 14px;
    line-height: 152.9%;
}


.text_block > *
{
    margin-bottom: 20px;
}


.text_block > :last-child
{
    margin-bottom: 0 !important;
}

.text_block > :first-child
{
    margin-top: 0 !important;
}


.text_block img
{
    display: block;

    max-width: 100%;
}

.text_block img.loaded
{
    height: auto !important;
}



.text_block .video
{
    position: relative;
    z-index: 3;
}


.text_block .video .thumb
{
/*    position: relative;
    z-index: 3;

    overflow: hidden;

    padding-bottom: 64.516%;

    border-radius: 10px;
    background: #ddd;*/
}


.text_block .video .thumb > img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.text_block .video .btn
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 100%;
    height: 100%;
    padding: 20px;
}

.text_block .video .btn img
{
    display: block;
}


.text_block .video video
{
/*    position: absolute;*/
/*    z-index: 3;*/
/*    top: 0;*/
/*    left: 0;*/
/**/
/*    display: none;*/

width: 100%;
height: 100%;

border-radius: 10px;

object-fit: cover;
}



/*-----------------
    Main slider
-----------------*/
.main_slider
{
    margin-top: 20px;
    margin-bottom: 20px;
}


.main_slider .swiper
{
    border-radius: 10px;
}


.main_slider .swiper-slide
{
    position: relative;

    display: flex;
    overflow: hidden;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 577px;
    padding: 53px 106px;

    background: #ddd;
}


.main_slider .img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.main_slider .data
{
    position: relative;
    z-index: 3;

    width: 361px;
    max-width: 100%;
}


.main_slider .pre_title
{
    font-family: var(--font_family3);
    font-size: 24px;
    font-weight: 500;
    line-height: 91%;

    margin-bottom: 53px;

    text-transform: uppercase;
}

.main_slider .pre_title > * + *
{
    margin-top: 9px;
}


.main_slider .title
{
    font-family: var(--font_family3);
    font-size: 48px;
    font-weight: 400;
    line-height: 91%;

    display: block;
}



/*---------------------
    Mob. categories
---------------------*/
.mob_categories
{
    display: none;
}


.mob_categories .row
{
    justify-content: space-between;
}


.mob_categories .category
{
    font-size: 10px;
    line-height: 120%;

    text-align: center;
    text-decoration: none;

    color: #222;
}


.mob_categories .category .thumb
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 30px;
    height: 30px;
    margin: 0 auto 10px;
}


.mob_categories .category .thumb img
{
    display: block;

    max-width: 100%;
    max-height: 100%;
}



/*----------------
    Categories
----------------*/
.categories .grid
{
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
}

.categories .grid > *.big
{
    grid-row: 1 / 3;
    grid-column: 2 / 3;
}


.categories .category
{
    position: relative;

    display: block;

    text-align: center;
    text-decoration: none;

    color: currentColor;
    border-radius: 10px;
    background: #f9f9fa;
}


.categories .category .thumb
{
    position: relative;

    display: flex;
    overflow: hidden;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 294px;
    padding: 20px 20px 64px;

    border-radius: inherit;
}

.categories .category.big .thumb
{
    height: 100%;
}


.categories .category .thumb img
{
    display: block;

    max-width: 100%;
    max-height: 100%;
}


.categories .category .thumb img.cover
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.categories .category .name
{
    font-weight: 500;

    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

    width: 100%;
    padding: 10px;

    border-radius: 10px;
    background: #f7dab8;
}



/*-------------
    Banners
-------------*/
.banners .row
{
    margin-bottom: -20px;
    margin-left: -20px;
}

.banners .row > *
{
    width: calc(50% - 20px);
    margin-bottom: 20px;
    margin-left: 20px;
}


.banners .banner
{
    position: relative;

    display: flex;
    overflow: hidden;
    align-content: flex-end;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: flex-start;

    height: 249px;
    padding: 24px;

    text-decoration: none;

    color: currentColor;
    border-radius: 10px;
    background: #f9f7eb;
}

.banners .banner.gradient
{
    background: linear-gradient(180deg, #fff8ee 0%, #ffecd0 100%);
}


.banners .banner .title
{
    font-family: var(--font_family3);
    font-size: 32px;
    font-weight: 500;
    line-height: 91%;

    position: relative;
    z-index: 3;

    width: 281px;
    max-width: 100%;
}


.banners .banner .img
{
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;

    display: block;

    width: 100%;
    height: 100%;

    pointer-events: none;

    object-fit: cover;
    object-position: 100% 50%;
}



/*-----------
    Gifts
-----------*/
.gifts .row
{
    margin-bottom: -20px;
    margin-left: -20px;
}

.gifts .row > *
{
    width: calc(33.333% - 20px);
    margin-bottom: 20px;
    margin-left: 20px;
}


.gifts .item
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.gifts .item .thumb
{
    position: relative;

    overflow: hidden;

    padding-bottom: 73.333%;

    border-radius: 10px;
    background: #ddd;
}


.gifts .item .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}



/*----------------
    Big banner
----------------*/
.big_banner img
{
    display: block;

    width: 100%;
}



/*----------------
    About info
----------------*/
.about_info .data
{
    align-self: center;

    width: 495px;
    max-width: 100%;
}


.about_info .title
{
    font-size: 96px;
    font-weight: 400;
    line-height: 94px;

    margin-bottom: 40px;

    text-transform: uppercase;
}


.about_info .text_block
{
    font-size: var(--font_size);
    line-height: 166.182%;
}


.about_info .images
{
    position: relative;

    width: 638px;
    max-width: 100%;
    margin-left: auto;
    padding-bottom: 61.151%;

    border-radius: 10px;
    background: #ddd;
}


.about_info .images img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}

.about_info .images img.absolute
{
    z-index: 3;
    top: auto;
    bottom: 62px;
    left: -112px;

    width: 296px;
    height: 325px;
}



/*---------
    FAQ
---------*/
.FAQ
{
    position: relative;
    z-index: 3;
}


.FAQ .bg
{
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;

    display: block;

    width: 960px;
    max-width: 50%;

    pointer-events: none;
}


.FAQ .cont
{
    position: relative;
    z-index: 3;
}


.FAQ .block_head
{
    width: 438px;
    max-width: 100%;
}


.FAQ .accordion
{
    width: 638px;
    max-width: calc(100% - 478px);
    margin-left: auto;
}



/*-------------------
    Contacts info
-------------------*/
.contacts_info .data
{
    width: 448px;
    max-width: 100%;
}

.contacts_info .data > * + *
{
    margin-top: 10px;
}


.contacts_info .data b
{
    font-weight: 600;
}


.contacts_info .data .line
{
    width: 334px;
    max-width: 100%;
    height: 1px;
    margin: 20px 0;

    background: #222;
}


.contacts_info .data .owner > * + *
{
    margin-top: 10px;
}

.contacts_info .data .owner b
{
    font-weight: 700;
}


.contacts_info .data a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}



.contacts_info .feedback
{
    margin-left: 212px;
}


.contacts_info .feedback .title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: 97.523%;

    text-transform: uppercase;
}



.contacts_info .feedback .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 20px;
}


.contacts_info .feedback .messengers a
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 40px;
    height: 40px;

    text-decoration: none;

    color: #fff;
    border-radius: 50%;
}

.contacts_info .feedback .messengers a + a
{
    margin-left: 8px;
}

.contacts_info .feedback .messengers a.whatsapp_link
{
    background: #47c559;
}

.contacts_info .feedback .messengers a.telegram_link
{
    background: #3aa8e6;
}


.contacts_info .feedback .messengers a .icon
{
    display: block;
}

.contacts_info .feedback .messengers a.whatsapp_link .icon
{
    width: 18px;
    height: 18px;
}

.contacts_info .feedback .messengers a.telegram_link .icon
{
    width: 22px;
    height: 18px;
}


.contacts_info .feedback .btn
{
    width: 271px;
    max-width: 100%;
    height: 57px;
    margin-top: 40px;

    border-radius: 9px;
    background: #f7dab8;
}



.contacts_info .map
{
    position: relative;

    overflow: hidden;

    height: 441px;
    margin-top: 65px;

    border-radius: 10px;
    background: #ddd;
}


.contacts_info .map img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



/*----------
    Auth
----------*/
.auth .cont
{
    align-content: stretch;
    align-items: stretch;
    justify-content: space-between;
}


.auth .register
{
    width: 50%;
    padding: 40px 120px 100px 0;
}


.auth .login
{
    width: 50%;
    padding: 40px 0 100px 119px;

    border-left: 1px solid #efefef;
}


.auth .title
{
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: 97.523%;

    margin-bottom: 40px;

    text-transform: uppercase;
}



/*------------------------
    LK info - Personal
------------------------*/
.lk_info .personal
{
    width: 750px;
    max-width: 100%;
}



/*-------------------------
    LK info - Addresses
-------------------------*/
.lk_info .addresses .title
{
    font-weight: 500;

    margin-bottom: 20px;

    text-transform: uppercase;
}


.lk_info .addresses .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -20px;
    margin-left: -20px;
}

.lk_info .addresses .row > *
{
    width: calc(25% - 20px);
    min-height: 264px;
    margin-bottom: 20px;
    margin-left: 20px;
}


.lk_info .addresses .address
{
    font-size: 14px;

    position: relative;

    padding: 19px;

    color: rgba(34, 34, 34, .25);
    border: 1px solid #efefef;
    border-radius: 10px;
}

.lk_info .addresses .address.active
{
    color: var(--text_color);
}


.lk_info .addresses .address > * + *
{
    margin-top: 10px;
}


.lk_info .addresses .address .edit_btn
{
    font-weight: 500;

    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    padding: 19px;

    color: var(--text_color);
}


.lk_info .addresses .add_btn
{
    font-size: 16px;
    font-weight: 500;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    padding: 19px;

    transition: color .2s linear;
    text-transform: uppercase;

    color: rgba(34, 34, 34, .25);
    border: 1px solid #efefef;
    border-radius: 10px;
}

.lk_info .addresses .add_btn:hover
{
    color: var(--text_color);
}



/*-------------------------
    LK info - Favorites
-------------------------*/
.lk_info .favorites .title
{
    font-weight: 500;

    margin-bottom: 20px;

    text-transform: uppercase;
}



/*----------------------
    LK info - Orders
----------------------*/
.lk_info .orders .title
{
    font-weight: 500;

    margin-bottom: 20px;

    text-transform: uppercase;
}


.lk_info .orders table
{
    width: 100%;

    border-spacing: 0;
    border-collapse: collapse;
}


.lk_info .orders table th
{
    font-size: 14px;
    font-weight: 400;

    padding: 14px 0;

    text-align: left;
    vertical-align: middle;
    white-space: nowrap;

    border-top: 1px solid;
    border-bottom: 1px solid;
}

.lk_info .orders table th + th
{
    padding-left: 20px;
}


.lk_info .orders table td
{
    font-size: 14px;

    position: relative;

    padding: 14px 0;

    text-align: left;
    vertical-align: middle;

    border-bottom: 1px solid #efefef;
}

.lk_info .orders table td.number
{
    width: 133px;

    table-layout: fixed;
}

.lk_info .orders table td.buyer
{
    width: 177px;

    table-layout: fixed;
}

.lk_info .orders table td.amount
{
    width: 110px;

    table-layout: fixed;
}

.lk_info .orders table td.price
{
    font-size: var(--font_size);
    font-weight: 500;

    width: 109px;

    table-layout: fixed;
}

.lk_info .orders table td.date
{
    width: 177px;

    table-layout: fixed;
}

.lk_info .orders table td.actions
{
    width: 44px;

    table-layout: fixed;
}


.lk_info .orders table td + td
{
    padding-left: 20px;
}


.lk_info .orders table td .open_order_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 24px;
    height: 24px;
}


.lk_info .orders table td .open_order_btn .icon
{
    display: block;

    width: 24px;
    height: 24px;
}



/*--------------
    Products
--------------*/
.products .head
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-bottom: 20px;
    padding: 11px 19px;

    border: 1px solid #efefef;
    border-radius: 10px;
}



.products .sort > .btn
{
    font-size: 14px;
    line-height: 97.523%;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    text-transform: uppercase;
}

.products .sort > .btn .arr
{
    display: block;

    width: 15px;
    height: 9px;
    margin-left: 10px;

    transition: .2s linear;
}

.products .sort > .btn.active .arr
{
    transform: rotate(180deg);
}


.products .sort .mini_modal
{
    font-size: 14px;
    line-height: 91%;

    width: 200px;

    border-radius: 5px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(34, 34, 34, .25);
}


.products .sort .mini_modal > * + *
{
    border-top: 1px solid #efefef;
}


.products .sort .mini_modal .btn
{
    display: block;

    width: 100%;
    padding: 14px 20px;

    text-align: left;
}



.products .show
{
    font-size: 14px;
    line-height: 97.523%;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    text-transform: uppercase;
}

.products .show .arr
{
    display: block;

    width: 15px;
    height: 9px;
    margin-left: 10px;

    transition: .2s linear;
}

.products .show.active .arr
{
    transform: rotate(180deg);
}


.products .show .btns
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    height: 50px;
    margin-left: 20px;
    padding-left: 20px;

    border-left: 1px solid;
}


.products .show .btns .btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 27px;
    height: 20px;

    transition: color .2s linear;

    color: #efefef;
}

.products .show .btns .btn + .btn
{
    margin-left: 20px;
}


.products .show .btns .btn:hover,
.products .show .btns .btn.active
{
    color: var(--text_color);
}



.products .swiper
{
    overflow: visible !important;
}


.products .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -45px;
    margin-left: -20px;
}

.products .row > *
{
    width: calc(25% - 20px);
    margin-bottom: 45px;
    margin-left: 20px;
}

.content .products .row > *
{
    width: calc(33.333% - 20px);
}


.products .product
{
    position: relative;

    display: flex;
    flex-direction: column;

    border-radius: 10px;
    box-shadow: 0 4px 24px rgba(53,51,57,.08);
}


.products .product .stickers
{
    position: absolute;
    z-index: 3;
    top: 11px;
    left: 12px;

    display: flex;
    flex-direction: column;
}

.products .product .stickers > * + *
{
    margin-top: 2px;
}


.products .product .stickers .sticker
{
    font-size: 14px;
    font-weight: 600;
    line-height: 88.9%;

    display: inline-block;

    padding: 10px;

    vertical-align: top;
    white-space: nowrap;
    text-transform: uppercase;

    color: rgba(255, 255, 255, .8);
    border-radius: 5px;
    background: #f49223;
}


.products .product .favorite_btn
{
    position: absolute;
    z-index: 3;
    top: 8px;
    right: 9px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 33px;
    height: 33px;

    transition: .2s linear;

    color: #f49223;
    border-radius: 50%;
    background: #fff;
}

.products .product .favorite_btn:hover,
.products .product .favorite_btn.active
{
    color: #fff;
    background: #f49223;
}


.products .product .favorite_btn .icon
{
    display: block;

    width: 15px;
    height: 15px;
}


.products .product .thumb
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 94.838%;

    text-decoration: none;

    color: currentColor;
    border-radius: 10px;
    background: #ddd;
}


.products .product .thumb img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.products .product .info
{
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;

    padding: 20px;
}


.products .product .name
{
    font-size: 18px;
    font-weight: 600;

    flex: 1 0 auto;
}

.products .product .name a
{
    display: inline-block;

    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}


.products .product .buy
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-top: 21px;
}


.products .product .price
{
    font-size: 18px;
    font-weight: 600;

    white-space: nowrap;
}


.products .product .buy_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 37px;
    height: 37px;
    margin-left: auto;

    transition: .2s linear;

    border: 1px solid #222;
    border-radius: 5px;
}

.products .product .buy_btn .icon
{
    display: block;

    width: 17px;
    height: 17px;
}


.products .product .buy_btn:hover,
.products .product .buy_btn.active
{
    color: #fff;
    border-color: #ff7d7d;
    background: #ff7d7d;
}



.products.additional
{
    margin-bottom: 60px;
}


.products.additional .title
{
    font-family: var(--font_family2);
    font-size: 20px;
    font-weight: 500;

    margin-bottom: 20px;
}


.products.additional .swiper
{
    overflow: visible !important;
}


.products.additional .swiper-slide
{
    width: 200px;
}


.products.additional .product .info
{
    padding: 16px;
}


.products.additional .product .name
{
    font-size: var(--font_size);
    font-weight: 400;

    width: 145px;
    max-width: 100%;
}


.products.additional .product .buy
{
    margin-top: 11px;
}


.products.additional .product .price
{
    font-family: var(--font_family2);
    font-size: var(--font_size);
    font-weight: 500;
}



/*----------------
    Order info
----------------*/
.order_info .features
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;
}


.order_info .features .item
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    justify-content: flex-start;

    width: 50%;
    padding: 19px 40px;

    border-top: 1px solid #efefef;
    border-bottom: 1px solid #efefef;
}

.order_info .features .item:nth-child(2n)
{
    border-left: 1px solid #efefef;
}

.order_info .features .item:nth-child(2n) ~ .item
{
    margin-top: -1px;
}


.order_info .features .label
{
    font-weight: 600;

    margin-right: 10px;

    white-space: nowrap;
}


.order_info .features .val
{
    width: 100%;
}


.order_info table
{
    width: calc(100% + 80px);
    margin: 60px -40px -40px;

    border-spacing: 0;
    border-collapse: collapse;
}


.order_info table th
{
    font-size: 14px;
    font-weight: 400;

    padding: 14px 0;

    text-align: left;
    vertical-align: middle;
    white-space: nowrap;

    border-top: 1px solid;
    border-bottom: 1px solid;
}

.order_info table th + th
{
    padding-left: 20px;
}

.order_info table th:first-child
{
    padding-left: 40px;
}

.order_info table th:last-child
{
    padding-right: 40px;
}


.order_info table td
{
    font-size: 14px;

    position: relative;

    padding: 14px 0;

    text-align: left;
    vertical-align: middle;

    border-bottom: 1px solid #efefef;
}

.order_info table tbody tr:last-child td
{
    border-bottom: none;
}

.order_info table td.model
{
    width: 190px;

    table-layout: fixed;
}

.order_info table td.amount,
.order_info table td.price
{
    width: 110px;

    table-layout: fixed;
}

.order_info table td.price_total
{
    width: 220px;

    table-layout: fixed;
}

.order_info table td:first-child
{
    padding-left: 40px;
}

.order_info table td:last-child
{
    padding-right: 40px;
}


.order_info table td + td
{
    padding-left: 20px;
}


.order_info table td a
{
    font-weight: 600;

    display: block;

    width: 380px;
    max-width: 100%;

    text-decoration: none;

    color: currentColor;
}


.order_info table tfoot td
{
    font-weight: 600;

    padding: 19px 0 20px;

    border-top: 1px solid var(--text_color);
    border-bottom: none;
}

.order_info table tfoot td + td
{
    padding-left: 20px;
}



/*----------------------------
    LK info - Bonus points
----------------------------*/
.lk_info .bonus_points .head
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-bottom: 20px;
}


.lk_info .bonus_points .title
{
    font-weight: 500;

    text-transform: uppercase;
}


.lk_info .bonus_points .count
{
    font-weight: 500;

    margin-left: auto;
}

.lk_info .bonus_points .count span
{
    font-size: 14px;
    font-weight: 400;
}


.lk_info .bonus_points table
{
    width: 100%;

    border-spacing: 0;
    border-collapse: collapse;
}


.lk_info .bonus_points table th
{
    font-size: 14px;
    font-weight: 400;

    padding: 14px 0;

    text-align: left;
    vertical-align: middle;
    white-space: nowrap;

    border-top: 1px solid;
    border-bottom: 1px solid;
}

.lk_info .bonus_points table th + th
{
    padding-left: 20px;
}


.lk_info .bonus_points table td
{
    font-size: 14px;

    position: relative;

    padding: 14px 0;

    text-align: left;
    vertical-align: middle;

    border-bottom: 1px solid #efefef;
}

.lk_info .bonus_points table td.number
{
    width: 133px;

    table-layout: fixed;
}

.lk_info .bonus_points table td.for
{
    width: 220px;

    table-layout: fixed;
}

.lk_info .bonus_points table td.points
{
    font-size: var(--font_size);
    font-weight: 500;

    width: 109px;

    table-layout: fixed;
}

.lk_info .bonus_points table td.date
{
    width: 177px;

    table-layout: fixed;
}

.lk_info .bonus_points table td.actions
{
    width: 44px;

    table-layout: fixed;
}


.lk_info .bonus_points table td + td
{
    padding-left: 20px;
}


.lk_info .bonus_points table td .open_order_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 24px;
    height: 24px;
}


.lk_info .bonus_points table td .open_order_btn .icon
{
    display: block;

    width: 24px;
    height: 24px;
}



/*-------------------------
    LK info - Subscribe
-------------------------*/
.lk_info .subscribe .title
{
    font-weight: 500;

    margin-bottom: 20px;

    text-transform: uppercase;
}


.lk_info .subscribe .field
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.lk_info .subscribe .field + .field
{
    margin-top: 20px;
}


.lk_info .subscribe label
{
    display: block;

    width: 100%;

    cursor: pointer;
}


.lk_info .subscribe label input
{
    display: none;
}


.lk_info .subscribe label div
{
    font-size: 13px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    height: 48px;
    padding: 9px;

    transition: .2s linear;
    text-align: center;

    border: 1px solid var(--text_color);
}

.lk_info .subscribe label:first-child div
{
    border-right: none;
    border-radius: 5px 0 0 5px;
}

.lk_info .subscribe label:last-child div
{
    border-left: none;
    border-radius: 0 5px 5px 0;
}


.lk_info .subscribe label input:checked + div
{
    color: #fff;
    background: var(--text_color);
}



/*---------------
    Cart info
---------------*/
.cart_info table
{
    width: 100%;

    border-spacing: 0;
    border-collapse: collapse;
}


.cart_info table th
{
    font-size: 14px;
    font-weight: 400;

    padding: 14px 0;

    text-align: left;
    vertical-align: middle;
    white-space: nowrap;

    border-top: 1px solid;
    border-bottom: 1px solid;
}

.cart_info table th + th
{
    padding-left: 20px;
}


.cart_info table td
{
    font-family: var(--font_family2);
    font-weight: 500;

    position: relative;

    padding-top: 20px;

    text-align: left;
    vertical-align: middle;
}

.cart_info table td.thumb
{
    width: 90px;

    table-layout: fixed;
}

.cart_info table td.model
{
    width: 110px;

    table-layout: fixed;
}

.cart_info table td.points,
.cart_info table td.amount
{
    width: 220px;

    table-layout: fixed;
}

.cart_info table td.price
{
    width: 109px;

    table-layout: fixed;
}

.cart_info table td.price.total
{
    width: 185px;
}

.cart_info table td.delete
{
    width: 35px;

    table-layout: fixed;
}


.cart_info table tr:last-child td
{
    padding-bottom: 20px;

    border-bottom: 1px solid;
}


.cart_info table td + td
{
    padding-left: 20px;
}


.cart_info table td.thumb a
{
    position: relative;

    display: block;
    overflow: hidden;

    width: 100%;
    padding-bottom: 100%;

    text-decoration: none;

    color: currentColor;
    border-radius: 10px;
    background: #ddd;
}


.cart_info table td.thumb a img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.cart_info table td.name a
{
    display: inline-block;

    width: 314px;
    max-width: 100%;

    vertical-align: middle;
    text-decoration: none;

    color: currentColor;
}


.cart_info table td.amount .box
{
    position: relative;

    width: 90px;
    max-width: 100%;
}


.cart_info table td.amount .btn
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 27px;
    height: 27px;

    border: 1px solid;
    border-radius: 50%;
}

.cart_info table td.amount .btn:before,
.cart_info table td.amount .btn:after
{
    position: absolute;

    display: block;

    width: 7px;
    height: 1px;
    margin: auto;

    content: '';

    background: currentColor;

    inset: 0;
}

.cart_info table td.amount .btn:after
{
    width: 1px;
    height: 7px;
}

.cart_info table td.amount .btn.plus
{
    right: 0;
    left: auto;
}

.cart_info table td.amount .btn.minus:after
{
    opacity: 0;
}


.cart_info table td.amount .input
{
    font-family: var(--font_family);
    font-size: 14px;
    font-weight: 600;

    display: block;

    width: 100%;
    height: 27px;
    padding: 0 27px;

    text-align: center;

    color: var(--text_color);
    border: none;
    background: none;
}


.cart_info table td.delete .btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 15px;
    height: 15px;
}


.cart_info table td.delete .btn .icon
{
    display: block;

    width: 15px;
    height: 15px;
}



/*----------------
    Cart total
----------------*/
.cart_total
{
    position: sticky;
    top: 0;

    padding: 20px;

    border-radius: 10px;
    background: #f9f9fa;
}


.cart_total .item
{
    font-size: 14px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: space-between;
}


.cart_total .item + .item
{
    margin-top: 10px;
    padding-top: 10px;

    border-top: 1px solid #efefef;
}


.cart_total .item.total
{
    font-size: var(--font_size);
    font-weight: 500;

    margin-top: 40px;
    padding: 0;

    border: none;
}


.cart_total .item.cashback
{
    border-color: var(--text_color);
}


.cart_total .item .label
{
    width: 100%;
    margin-right: 20px;
}


.cart_total .item .val
{
    margin-left: auto;

    white-space: nowrap;
}


.cart_total .checkbox
{
    position: relative;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    min-height: 25px;
    padding-left: 35px;

    cursor: pointer;
}


.cart_total .checkbox input
{
    display: none;
}


.cart_total .checkbox .check
{
    position: absolute;
    top: 0;
    left: 0;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 25px;
    height: 25px;

    transition: .2s linear;

    border: 1px solid;
    border-radius: 5px;
}

.cart_total .checkbox .check:after
{
    position: absolute;
    top: -3px;
    right: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 11px;
    height: 5px;
    margin: auto;

    content: '';
    transition: opacity .2s linear;
    transform: rotate(-45deg);

    opacity: 0;
    border-bottom: 1px solid;
    border-left: 1px solid;
}


.cart_total .checkbox input:checked ~ .check
{
    border-color: #f7dab8;
    background: #f7dab8;
}

.cart_total .checkbox input:checked ~ .check:after
{
    opacity: 1;
}


.cart_total .promocode
{
    margin-top: 40px;
}

.cart_total .promocode .line
{
    margin: 0;
}



/*--------------
    Checkout
--------------*/
.checkout
{
    --sidebar_width: 420px;
}


.checkout .content
{
    width: 750px;
    max-width: calc(100% - var(--sidebar_width) - 20px);
}


.checkout .form .section + .section
{
    margin-top: 60px;
}


.checkout .form .recipient
{
    padding-top: 10px;
}


.checkout .form .tooltip
{
    position: relative;
    top: -1px;

    display: inline-block;

    margin-left: 10px;

    vertical-align: middle;
}


.checkout .form .tooltip .icon
{
    font-family: var(--font_family2);
    font-size: 14px;
    font-weight: 300;
    font-style: 18px;

    display: block;

    width: 20px;
    height: 20px;

    cursor: help;
    transition: opacity .2s linear;
    text-align: center;

    opacity: .25;
    border: 1px solid;
    border-radius: 50%;
}


.checkout .form .tooltip .text
{
    font-size: 14px;

    position: absolute;
    z-index: 9;
    top: 50%;
    left: 100%;

    visibility: hidden;

    width: 240px;
    margin-left: 10px;
    padding: 10px 20px;

    transition: .2s linear;
    transform: translateY(-50%);
    pointer-events: none;

    opacity: 0;
    border-radius: 10px;
    background: #f9f9fa;
}


.checkout .form .tooltip:hover .icon
{
    opacity: 1;
}

.checkout .form .tooltip:hover .text
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


.checkout .form .checks
{
    padding-top: 10px;
}


.checkout .form .checks .row
{
    margin-bottom: -10px;
    margin-left: -40px;
}


.checkout .form .checks .row > *
{
    margin-bottom: 10px;
    margin-left: 40px;
}

.checkout .form .checks .row > * + *
{
    margin-top: 0;
}

.checkout .form .checks .row > *.middle_w
{
    width: calc(50% - 40px);
}

.checkout .form .checks .row > *.full_w
{
    width: calc(100% - 40px);
}


.checkout .form .checkbox .btn .icon
{
    position: relative;
    top: 1px;

    display: block;

    width: 15px;
    height: 9px;
    margin-left: 10px;
}


.checkout .form .checkbox .mini_modal
{
    font-size: 14px;

    width: 200px;
    padding: 20px;

    border-radius: 10px;
    background: #f9f9fa;
}


.checkout .form .checkbox .mini_modal > *
{
    cursor: pointer;
}

.checkout .form .checkbox .mini_modal > * + *
{
    margin-top: 10px;
}


.checkout .form .fint_out_cost_btn
{
    font-size: 14px;

    display: block;

    padding: 7px 27px;

    transition: .2s linear;

    border: 1px solid #222;
    border-radius: 5px;
}

.checkout .form .checks .row > *.fint_out_cost_btn
{
    margin-left: auto;
}

.checkout .form .fint_out_cost_btn:hover
{
    color: #fff;
    background: var(--text_color);
}


.checkout .form .methods
{
    padding-top: 10px;
}



/*----------------
    Advantages
----------------*/
.advantages .row
{
    align-content: stretch;
    align-items: stretch;

    margin-bottom: -58px;
    margin-left: -82px;

    counter-reset: number;
}

.advantages .row > *
{
    width: calc(50% - 82px);
    margin-bottom: 58px;
    margin-left: 82px;
}


.advantages .item
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;
}


.advantages .item .number
{
    font-size: 20px;
    line-height: 57px;

    width: 57px;
    height: 57px;
    margin-right: 12px;

    text-align: center;
    text-transform: uppercase;

    border-radius: 10px;
    background: #f7dab8;
}

.advantages .item .number + *
{
    align-self: center;

    width: 308px;
    max-width: calc(100% - 69px);
}

.advantages .item .number:before
{
    content: counter(number);
    counter-increment: number;
}


.advantages .item .name
{
    font-family: var(--font_family2);
    font-size: 20px;

    text-transform: uppercase;
}


.advantages .item .desc
{
    width: 100%;
    margin-top: 24px;
}


.advantages .item .desc ol
{
    counter-reset: li;
}

.advantages .item .desc ol li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 20px;

    list-style-type: none;
}

.advantages .item .desc ol li:before
{
    position: absolute;
    top: 0;
    left: 0;

    content: counter(li) '.';
    counter-increment: li;
}



/*------------------
    Product info
------------------*/
.product_info .cont
{
    justify-content: space-between;
}



.product_info .images
{
    position: relative;

    width: calc(50% - 10px);
}


.product_info .images .stickers
{
    position: absolute;
    z-index: 3;
    top: 11px;
    left: 12px;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.product_info .images .stickers > * + *
{
    margin-left: 6px;
}


.product_info .images .stickers .sticker
{
    font-size: 14px;
    font-weight: 600;
    line-height: 88.9%;

    display: inline-block;

    padding: 7px 9px;

    vertical-align: top;
    white-space: nowrap;
    text-transform: uppercase;

    color: rgba(255, 255, 255, .8);
    border-radius: 9px;
    background: #f49223;
}


.product_info .images .big,
.product_info .images .big .swiper
{
    border-radius: 10px;
}


.product_info .images .big .image
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-bottom: 82.812%;

    text-decoration: none;

    color: currentColor;
    background: #ddd;
}


.product_info .images .big .image img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.product_info .images .thumbs
{
    margin-top: 20px;
}


.product_info .images .thumbs .btn
{
    position: relative;

    display: block;
    overflow: hidden;

    width: 100%;
    padding-bottom: 100%;

    border-radius: 10px;
    background: #ddd;
}


.product_info .images .thumbs .btn img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}



.product_info .cont > .data
{
    width: calc(50% - 30px);
    margin-left: auto;
}


.product_info .product_name
{
    font-size: 36px;
    font-weight: 400;
    line-height: 97.523%;

    display: block;

    text-transform: uppercase;
}


.product_info .info
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 40px;
    margin-left: -60px;
}

.product_info .info > *
{
    margin-left: 60px;
}


.product_info .status
{
    font-size: 14px;
    font-weight: 600;
    line-height: 88.9%;

    white-space: nowrap;
    text-transform: uppercase;
}


.product_info .cashback
{
    font-family: var(--font_family2);
}

.product_info * + .cashback
{
    margin-top: 21px;
}


.product_info .cashback .label
{
    font-size: 12px;
    font-weight: 500;
}

.product_info .cashback .val
{
    font-size: 14px;
    font-weight: 500;

    margin-top: 3px;

    color: #efefef;
}


.product_info .amount .label
{
    font-size: 14px;
    line-height: 88.9%;

    margin-bottom: 23px;

    text-transform: uppercase;
}


.product_info .amount .box
{
    position: relative;

    width: 90px;
    max-width: 100%;
}


.product_info .amount .btn
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;

    display: block;

    width: 27px;
    height: 27px;

    border: 1px solid;
    border-radius: 50%;
}

.product_info .amount .btn:before,
.product_info .amount .btn:after
{
    position: absolute;

    display: block;

    width: 7px;
    height: 1px;
    margin: auto;

    content: '';

    background: currentColor;

    inset: 0;
}

.product_info .amount .btn:after
{
    width: 1px;
    height: 7px;
}

.product_info .amount .btn.plus
{
    right: 0;
    left: auto;
}

.product_info .amount .btn.minus:after
{
    opacity: 0;
}


.product_info .amount .input
{
    font-family: var(--font_family);
    font-size: 14px;
    font-weight: 600;

    display: block;

    width: 100%;
    height: 27px;
    padding: 0 27px;

    text-align: center;

    color: var(--text_color);
    border: none;
    background: none;
}


.product_info .increas_numbers .label
{
    font-size: 14px;
    line-height: 88.9%;

    margin-bottom: 20px;

    text-transform: uppercase;
}


.product_info .increas_numbers .vals
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.product_info .increas_numbers .vals > * + *
{
    margin-left: 10px;
}


.product_info .increas_numbers label
{
    display: block;

    cursor: pointer;
}


.product_info .increas_numbers input
{
    display: none;
}


.product_info .increas_numbers label div
{
    font-size: 14px;
    line-height: 118.9%;

    padding: 7px 21px;

    transition: .2s linear;
    text-transform: uppercase;

    border: 1px solid  #222;
    border-radius: 58px;
}

.product_info .increas_numbers input:checked + div
{
    border-color: #f7dab8;
    background: #f7dab8;
}


.product_info .buy
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-top: 40px;
}


.product_info .buy .price
{
    font-family: var(--font_family2);
    font-size: 24px;
    font-weight: 500;

    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    width: 100%;

    white-space: nowrap;
}

.product_info .buy .price .old
{
    font-size: 14px;
    font-weight: 500;

    margin-left: 12px;

    text-decoration: line-through;

    color: #efefef;
}


.product_info .buy .buy_btn
{
    display: block;

    width: 310px;
    max-width: calc(100% - 77px);
    height: 57px;
    margin-top: 20px;
    padding: 10px;

    text-transform: uppercase;

    border-radius: 10px;
    background: #f7dab8;
}


.product_info .buy .favorite_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 57px;
    height: 57px;
    margin-top: 20px;
    margin-left: 20px;
    padding: 9px;

    transition: .2s linear;

    color: #f7dab8;
    border: 1px solid #f7dab8;
    border-radius: 9px;
}

.product_info .buy .favorite_btn .icon
{
    display: block;

    width: 30px;
    height: 26px;
}


.product_info .buy .favorite_btn:hover,
.product_info .buy .favorite_btn.active
{
    color: #fff;
    background: #f7dab8;
}


.product_info .accordion
{
    margin-top: 40px;
}


.product_info .accordion_item
{
    border: none;
    border-bottom: 1px solid #efefef;
    border-radius: 0;
}

.product_info .accordion_item + .accordion_item
{
    margin-top: 4px;
}


.product_info .accordion_item .head
{
    min-height: 0;
    padding: 16px 40px 16px 0;
}


.product_info .accordion_item .head .title
{
    font-size: 16px;
    line-height: normal;

    width: auto;

    color: #222;
}


.product_info .accordion_item .head .icon
{
    right: 0;
}


.product_info .accordion_item .data
{
    padding: 0 0 20px;
}
.product_info .accordion_item .data.text_block
{
    font-weight: initial;
}

.product_info .compound .row
{
    max-width: calc(100% + 20px);
    margin-left: -20px;
}


.product_info .compound .col
{
    font-size: 14px;
    font-weight: 500;
    line-height: 179.9%;

/*    width: 240px;*/
/*    max-width: calc(50% - 20px);*/
width: 100%;
max-width: 100%;
/*    margin-left: 20px;*/
margin-left: 39px;
text-transform: uppercase;
}


.product_info .guarantee
{
    margin-top: 40px;
    padding: 33px;

    border-radius: 10px;
    background: #f9f9fa;
}


.product_info .guarantee .label
{
    font-size: 14px;
    font-weight: 600;
}


.product_info .guarantee .val
{
    font-size: 14px;

    margin-top: 10px;
}



/*------------
    Footer
------------*/
footer
{
    margin-top: 35px;
    padding: 55px 0 20px;

    color: #fff;
    background: #222;
}

footer.no_m
{
    margin-top: 0;
}


footer .cont + .cont
{
    margin-top: 85px;
}



footer .logo
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 150px;
    height: 86px;
    margin-top: -55px;

    border-radius: 0 0 7px 7px;
    background: #fff;
}



footer .links
{
    margin-left: 67px;
}

footer .links + .links
{
    margin-left: 220px;
}


footer .links .items
{
    margin-top: 21px;
}


footer .links .items > *
{
    position: relative;

    padding-left: 16px;
}


footer .links .items > *:before
{
    position: absolute;
    top: 9px;
    left: 0;

    display: block;

    width: 5px;
    height: 5px;

    content: '';

    border-radius: 50%;
    background: currentColor;
}


footer .links .items a
{
    text-decoration: none;

    color: currentColor;
}



footer .contacts
{
    margin-left: auto;
}


footer .contacts .phone
{
    text-align: right;
}


footer .contacts .phone a
{
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


footer .contacts .messengers
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;

    margin-top: 9px;
}


footer .contacts .messengers a
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 21px;
    height: 21px;

    text-decoration: none;

    color: #fff;
    border: 1px solid;
    border-radius: 50%;
}

footer .contacts .messengers a + a
{
    margin-left: 6px;
}


footer .contacts .messengers a .icon
{
    display: block;
}

footer .contacts .messengers a.whatsapp_link .icon
{
    width: 11px;
    height: 11px;
}

footer .contacts .messengers a.telegram_link .icon
{
    width: 13px;
    height: 10px;
}



footer .contacts .location
{
    margin-top: 23px;
}



footer .copyright
{
    font-size: 14px;
    line-height: 118.9%;

    color: rgba(255, 255, 255, .30);
}



footer .privacy_policy_link
{
    font-size: 14px;
    line-height: 118.9%;

    margin-left: auto;

    color: rgba(255, 255, 255, .30);
}


footer .privacy_policy_link a
{
    text-decoration: none;

    color: rgba(255, 255, 255, .30);
}



/*-----------
    PopUp
-----------*/
.modal
{
    display: none;
    visibility: visible !important;

    width: 640px;
    max-width: 100%;
    padding: 27px 40px 40px;

    color: var(--text_color);
    border-radius: 10px;
    background: #fff;
}


.modal_title
{
    font-family: var(--font_family2);
    font-size: var(--font_size_title);
    font-weight: 400;
    line-height: normal;

    padding-right: 64px;

    text-transform: uppercase;
}


.modal_desc
{
    font-size: 14px;
    line-height: 152.9%;

    margin-top: 20px;
}


.modal .form
{
    margin-top: 50px;
}


.modal.edit_address .form .main_check
{
    padding: 10px 0 20px;
}


.modal.order_info
{
    display: inline-block;

    width: 1300px;
}


.modal.order_info .features
{
    width: calc(100% + 80px);
    margin: 27px -40px 0;
}