/*-----------
    Fonts
-----------*/
@font-face
{
    font-family: 'MuseoSansCyrl';
    font-weight: 100;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/MuseoSansCyrl-100.woff2') format('woff2'),
    url('../fonts/MuseoSansCyrl-100.woff') format('woff'),
    url('../fonts/MuseoSansCyrl-100.ttf') format('truetype');
}

@font-face
{
    font-family: 'MuseoSansCyrl';
    font-weight: 300;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/MuseoSansCyrl-300.woff2') format('woff2'),
    url('../fonts/MuseoSansCyrl-300.woff') format('woff'),
    url('../fonts/MuseoSansCyrl-300.ttf') format('truetype');
}

@font-face
{
    font-family: 'MuseoSansCyrl';
    font-weight: 500;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/MuseoSansCyrl-500.woff2') format('woff2'),
    url('../fonts/MuseoSansCyrl-500.woff') format('woff'),
    url('../fonts/MuseoSansCyrl-500.ttf') format('truetype');
}

@font-face
{
    font-family: 'MuseoSansCyrl';
    font-weight: 700;
    font-style: normal;

    font-display: swap;
    src: url('../fonts/MuseoSansCyrl-700.woff2') format('woff2'),
    url('../fonts/MuseoSansCyrl-700.woff') format('woff'),
    url('../fonts/MuseoSansCyrl-700.ttf') format('truetype');
}



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

    scroll-margin-top: 24px;
}

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

html
{
    scroll-behavior: smooth;
    -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: #f8f7f4;
    --scroll_width: 17px;
    --cont_padding: 24px;
    --text_color: #000;
    --text_color_h: #656565;
    --accent_color: #d9949e;
    --accent_color_h: #c57480;
    --top_banner_bg: #643940;
    --font_size: 14px;
    --font_size_title: 44px;
    --font_family: 'MuseoSansCyrl', 'Arial', sans-serif;
}


::selection
{
    color: #fff;
    background: var(--accent_color);
}

::-moz-selection
{
    color: #fff;
    background: var(--accent_color);
}



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: var(--accent_color);
}


body
{
    font-family: var(--font_family);
    font-size: var(--font_size);
    font-weight: 300;
    line-height: normal;

    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
{
    position: relative;

    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
}


.cont
{
    width: 100%;
    max-width: calc(1600px + (var(--cont_padding) * 2));
    margin: 0 auto;
    padding: 0 var(--cont_padding);
}

/*
 .cont
{
    width: 100%;
    max-width: calc(1200px + (var(--cont_padding) * 2));
    margin: 0 auto;
    padding: 0 var(--cont_padding);
}
 */


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



.block
{
    margin-bottom: 60px;
}



.small_modal_btn > *
{
    pointer-events: none;
}



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

    display: none;

    width: 100%;
    height: 100%;

    background: rgba(87, 78, 74, .30);
}



/*--------------
    Fancybox
--------------*/
.fancybox__backdrop
{
    background: rgba(87, 78, 74, .30);
}


.fancybox__slide
{
    padding: 24px;
}


.fancybox__content > .f-button.is-close-btn,
.is-compact .fancybox__content > .f-button.is-close-btn
{
    top: 10px;
    right: 10px;

    transition: color .2s linear;

    opacity: 1;

    --f-button-width: 30px;
    --f-button-height: 30px;
    --f-button-border-radius: 0;
    --f-button-color: var(--text_color);
    --f-button-hover-color: var(--text_color_h);
    --f-button-svg-width: 30px;
    --f-button-svg-height: 30px;
    --f-button-bg: transparent;
    --f-button-hover-bg: transparent;
    --f-button-active-bg: transparent;
}


.fancybox__content > .f-button.is-close-btn svg
{
    stroke: none;
}



/*---------------
    Accordion
---------------*/
.accordion_item
{
    transition: box-shadow .2s linear;

    background: #fff;
    box-shadow: 0 0 3px 0 #ebdfd7;
}


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


.accordion_item .head
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: 20px;

    cursor: pointer;
}


.accordion_item .head .title
{
    font-size: 16px;
    line-height: 120%;

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


.accordion_item .head .icon
{
    display: block;

    width: 8px;
    height: 16px;
    margin-right: 4px;
    margin-left: auto;

    transition: transform .2s linear;
    transform: rotate(-90deg);
}


.accordion_item .data
{
    display: none;

    padding: 0 20px 20px;
}


.accordion_item:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}


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



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


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

    visibility: hidden;

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

    opacity: 0;
}


.mini_modal.active
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}



/*----------------
    Top banner
----------------*/
.top_banner
{
    font-size: 10px;
    line-height: 120%;

    padding: 8px 0;

    text-align: center;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #fff;
    border-bottom: 1px solid #f0f0f0;
    background: var(--top_banner_bg);
}


.top_banner .swiper-wrapper
{
    transition-timing-function: linear !important;
}



/*------------
    Header
------------*/
header .top
{
    padding: 12px 0;

    border-bottom: 1px solid #f0f0f0;
    background: #fff;
}


header .data
{
    position: sticky;
    z-index: 10;
    top: 0;

    padding: 15px 0;

    border-bottom: 1px solid #f0f0f0;
    background: #fff;
}



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



header .location
{
    font-size: 10px;
    line-height: 120%;

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

    margin-bottom: -2px;

    letter-spacing: .6px;
    text-transform: uppercase;

    gap: 8px;
}


header .location .icon
{
    display: block;

    width: 10px;
    height: 12px;
    margin-bottom: 2px;
}


header .location .btn
{
    transition: color .2s linear;
    text-transform: uppercase;

    border-bottom: 1px dashed #c6c3bc;
}


header .location .btn:hover
{
    color: var(--text_color_h);
}



header .rating
{
    font-size: 12px;
    line-height: 8px;

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

    margin-left: 20px;
    padding-left: 2px;

    gap: 6px;
    text-decoration: none;
    color: var(--text_color);
}


header .rating .ya_logo
{
    display: block;

    width: 16px;
    height: 16px;
    top: -1px;
    position: relative;
}


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

    color: #fc0;

    gap: 3px;
    top: -1px;
    position: relative;
}


header .rating .stars .icon
{
    display: block;

    width: 9px;
    height: 10px;
}


header .rating .val
{
    font-weight: 700;

    margin-left: -2px;
}



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

    margin-left: auto;

    gap: 16px;
}


header .menu_item > a
{
    font-size: 10px;
    line-height: 120%;

    transition: color .2s linear;
    text-decoration: none;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: currentColor;
}


header .menu_item > a:hover,
header .menu_item > a.active
{
    color: var(--text_color_h);
}



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

    margin-right: 25px;

    color: #080341;
}


header .menu_btn .icon
{
    display: block;

    width: 23px;
    height: 16px;
}



header .logo
{
    display: block;

    margin-right: auto;

    text-decoration: none;

    color: currentColor;
}


header .logo img
{
    display: block;

    width: 131px;
    height: 24px;
}



header .header_catalog
{
    position: static;
}


header .header_catalog .btn
{
    font-size: 10px;

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

    height: 40px;
    padding: 0 24px;

    transition: background .2s linear;
    text-align: center;
    text-decoration: none;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #fff;
    background: var(--accent_color);
}


header .header_catalog .btn:hover,
header .header_catalog .btn.active
{
    background: var(--accent_color_h);
}



header .header_catalog .mini_modal
{
    width: 100%;

    background: #f4eff0;
}


header .header_catalog .links
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}


header .header_catalog .links a
{
    font-weight: 300;

    position: relative;

    display: block;

    padding: 48px 0;

    transition: color .2s linear;
    text-decoration: none;
    letter-spacing: .96px;
    text-transform: uppercase;

    color: currentColor;
}


header .header_catalog .links a.sub_link:after
{
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    display: none;

    width: 32px;
    height: 16px;
    margin: 0 auto;

    content: '';

    border-right: 16px solid transparent;
    border-bottom: 16px solid #eae3e4;
    border-left: 16px solid transparent;
}


header .header_catalog .links > *:hover a.sub_link:after
{
    display: block;
}


header .header_catalog .links a:hover,
header .header_catalog .links a.active
{
    color: var(--text_color_h);
}


header .header_catalog .sub_links
{
    position: absolute;
    top: 100%;
    left: 0;

    display: none;

    width: 100%;
    padding: 24px 0;

    background: #eae3e4;
}


header .header_catalog .sub_links.show,
header .header_catalog .links > *:hover .sub_links
{
    display: block;
}


header .header_catalog .sub_links .row
{
    gap: 20px;
}


header .header_catalog .sub_links a
{
    padding: 0;
}



header .search
{
    position: relative;

    width: 246px;
    max-width: 100%;
    margin-left: 4px;
}


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

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

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

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


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

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 47px 0 15px;

    transition: border-color .2s linear;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: var(--text_color);
    border: 1px solid #f0f0f0;
    background: none;
}

header .search .input:-webkit-autofill
{
    -webkit-box-shadow: inset 0 0 0 50px var(--form_bg_color) !important;
}


header .search .input:focus
{
    border-color: #d3d3d3;
}


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

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

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


header .submit_btn .icon
{
    display: block;

    width: 16px;
    height: 16px;
}



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

    margin-left: auto;

    gap: 16px;
}


header .contacts .phone
{
    font-size: 18px;
    line-height: 120%;

    text-transform: uppercase;
}


header .contacts .phone a
{
    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


header .contacts .phone a:hover
{
    color: var(--text_color_h);
}


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

    width: 35px;
    height: 35px;

    text-decoration: none;

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


header .contacts .mob_phone .icon
{
    display: block;

    width: 16px;
    height: 16px;
}


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

    gap: 6px;
}


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

    width: 35px;
    height: 35px;

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

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


header .contacts .messengers .icon
{
    display: block;

    width: 16px;
    height: 16px;
}


header .contacts .messengers a:hover
{
    background: #f3efed;
}



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

    margin-left: auto;

    gap: 20px;
}


header .btns .btn
{
    font-size: 12px;
    line-height: 120%;
    position: relative;
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    transition: color .2s linear;
    text-align: left;
    letter-spacing: .72px;
    text-transform: uppercase;

    gap: 8px;
}


header .btns .icon
{
    display: block;

    width: 20px;
    height: 18px;
}


header .btns .btn:hover,
header .btns .btn.active
{
    color: var(--text_color_h);
}



header.fixed
{
    position: fixed;
    z-index: 90;
    top: 0;

    width: 100%;
    margin: 0;

    animation: moveDown .5s;
}


header.fixed .top
{
    display: none;
}


header.fixed .menu_btn
{
    display: flex;
}


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



/*---------------
    Page head
---------------*/
.page_head
{
    margin-bottom: 22px;
    padding-top: 35px;
}


.page_head.small_m
{
    margin-bottom: 30px;
}


.page_head .cont
{
    display: flex;
    flex-direction: column;

    gap: 15px;
}


.page_head.aligncenter .cont
{
    align-content: center;
    align-items: center;
    justify-content: center;

    text-align: center;
}



.breadcrumbs
{
    font-size: 10px;
    line-height: 7px;

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

    letter-spacing: 1px;
    text-transform: uppercase;

    color: #9c9c9c;

    gap: 8px;
}


.breadcrumbs a
{
    text-decoration: none;

    color: var(--text_color);
}


.breadcrumbs .sep
{
    display: block;

    width: 4px;
    height: 7px;

    color: var(--text_color);
    position: relative;
    top:-1px;
}



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

    display: block;

    text-transform: uppercase;

    color: #3a3636;
	font-weight:100;
}


.page_head.aligncenter .page_title
{
    width: 798px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
}



.page_head .links
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 20px;
}


.page_head.aligncenter .links
{
    justify-content: center;
}


.page_head .links a
{
    line-height: 11px;

    display: block;

    padding-bottom: 5px;

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

    color: currentColor;
    border-bottom: 1px solid #c6c3bc;
}


.page_head .links a:hover,
.page_head .links a.active
{
    color: #767675;
    border-color: transparent;
}



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

    gap: 4px;
}


.page_head.aligncenter .btns
{
    justify-content: center;
}


.page_head .btns a
{
    font-size: 10px;
    line-height: 7px;

    display: block;

    padding: 11px;

    transition: .2s linear;
    text-decoration: none;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #382312;
    border: 1px solid transparent;
    background: #fff;
    box-shadow: 0 0 3px 0 #ebdfd7;
}


.page_head .btns a:hover,
.page_head .btns a.active
{
    border-color: #d7d5d5;
    background: none;
}



.page_head .tags
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 4px;
}


.page_head.aligncenter .tags
{
    justify-content: center;
}


.page_head .tags > *
{
    font-size: 10px;
    line-height: 7px;

    padding: 8px 10px;

    letter-spacing: .6px;
    text-transform: uppercase;

    background: #fff;
}
.page_head .tags a{
    color: var(--text_color);
    text-decoration: none;
}


/*----------------
    Block head
----------------*/
.block_head
{
    display: flex;
    align-content: flex-end;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: space-between;

    margin-bottom: 24px;

    gap: 10px;
}


.block_head.small_m
{
    margin-bottom: 20px;
}


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

    display: block;

    text-transform: uppercase;
}


.block_head .title.full_w
{
    width: 100%;
}


.block_head .desc
{
    font-size: 18px;
    line-height: 120%;
}


.block_head .desc.small
{
    font-size: 16px;
}


.block_head .desc .btn
{
    font-size: 14px;
    line-height: 10px;

    margin-left: 30px;
    padding-bottom: 3px;

    transition: color .2s linear;
    vertical-align: bottom;

    border-bottom: 1px solid;
}


.block_head .desc .btn:hover
{
    color: var(--text_color_h);
}


.block_head .all_link
{
    display: flex;
}


.block_head .all_link a
{
    line-height: 100%;

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

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

    color: currentColor;

    gap: 10px;
}


.block_head .all_link .icon
{
    display: block;

    width: 5px;
    height: 10px;
}


.block_head .all_link a:hover
{
    color: var(--text_color_h);
}


.block_head > .btn
{
    font-size: 10px;
    line-height: 7px;

    height: 48px;
    padding: 0 19px;

    transition: box-shadow .2s linear;
    letter-spacing: 1px;
    text-transform: uppercase;

    border: 1px solid #d9d9d9;
    background: #fff;
    box-shadow: 0 0 3px 0 #ebdfd7;
}


.block_head > .btn:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}



/*------------------
    Form elements
------------------*/
.form
{
    --form_border_color: #f0f0f0;
    --form_focus_color: var(--text_color);
    --form_error_color: red;
    --form_bg_color: #fff;
    --form_placeholder_color: var(--text_color);
}


.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: 32px;
}

.form .columns > *
{
    width: calc(50% - var(--form_columns_offset));
    margin-left: var(--form_columns_offset);
}


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


.form .label
{
    font-size: 10px;
    line-height: 7px;

    margin-bottom: 10px;

    letter-spacing: .6px;
    text-transform: uppercase;
}


.form .field
{
    position: relative;
}


.form .field.with_icon
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: flex-start;
}


.form .field .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 52px;
    height: 52px;

    pointer-events: none;

    background: var(--form_border_color);
}


.form .field .icon svg
{
    display: block;

    width: 27px;
    height: 27px;
}


.form .input
{
    font-family: var(--font_family);
    font-size: 12px;
    font-weight: inherit;

    display: block;

    width: 100%;
    height: 52px;
    padding: 0 17px;

    transition: border-color .2s linear;
    letter-spacing: 1.2px;
    text-transform: uppercase;

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

.form .icon + .input
{
    width: calc(100% - 52px);
}

.form .input:-webkit-autofill
{
    -webkit-box-shadow: inset 0 0 0 50px var(--form_bg_color) !important;
}


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


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


.form .contacts_method .items
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 8px;
}


.form .contacts_method label
{
    display: block;

    cursor: pointer;
}


.form .contacts_method label input
{
    display: none;
}


.form .contacts_method label div
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 50px;
    height: 50px;

    transition: background .2s linear;

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


.form .contacts_method label .icon
{
    display: block;

    width: 20px;
    height: 20px;
}


.form .contacts_method label input:checked + div
{
    background: #f3efed;
}


.form .checkbox
{
    font-size: 12px;

    position: relative;

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

    min-height: 20px;
    padding-left: 30px;

    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: 20px;
    height: 20px;

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


.form .checkbox .check .icon
{
    display: block;

    width: 9px;
    height: 8px;

    content: '';
    transition: opacity .2s linear;

    opacity: 0;
}


.form .checkbox a
{
    color: currentColor;
}


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


.form .agree
{
    padding: 30px;
}


.form .submit_btn
{
    font-size: 12px;
    font-weight: inherit;
    line-height: 120%;

    display: block;

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

    transition: background .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    background: #d9949e;
}


.form .submit_btn:hover
{
    background: var(--accent_color_h);
}



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


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

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


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

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


.text_block h2
{
    font-size: 26px;
    font-weight: inherit;
    line-height: 120%;
}

.text_block h3
{
    font-size: 22px;
    font-weight: inherit;
    line-height: 120%;
}


.text_block * + h2,
.text_block * + h3
{
    margin-top: 30px;
}

.text_block h2 + *,
.text_block h3 + *
{
    margin-top: 0 !important;
}


.text_block img
{
    display: block;

    max-width: 100%;
}


.text_block a
{
    text-decoration: none;

    color: currentColor;
}


.text_block blockquote
{
    display: flex;
    flex-direction: column;

    gap: 10px;
}


.text_block blockquote p
{
    position: relative;
    z-index: 3;

    padding: 40px;

    background: #fff;
}


.text_block blockquote p:before
{
    font-size: 140px;
    line-height: 98px;

    position: absolute;
    z-index: -1;
    top: -18px;
    left: 4px;

    display: block;

    content: '«';
    pointer-events: none;

    color: #f4f4f4;
}


.text_block blockquote p:after
{
    font-size: 140px;
    line-height: 98px;

    position: absolute;
    z-index: -1;
    right: 0;
    bottom: 0;

    display: block;

    content: '»';
    pointer-events: none;

    color: #f4f4f4;
}


.text_block blockquote cite
{
    font-style: normal;

    display: block;

    text-align: center;
}


.text_block ul
{
    display: flex;
    flex-direction: column;

    gap: 10px;
}


.text_block ul li
{
    position: relative;

    display: block;
    overflow: hidden;

    padding-left: 16px;

    list-style-type: none;
}


.text_block ul li:before
{
    position: absolute;
    top: 5px;
    left: 0;

    display: block;

    width: 8px;
    height: 8px;

    content: '';

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


.text_block .gallery
{
    margin-top: 60px;
    margin-bottom: 60px;
}


.text_block .gallery .row
{
    flex-wrap: nowrap;

    gap: 8px;
}


.text_block .gallery .row > *
{
    width: 100%;
}


.text_block .gallery a
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.text_block .gallery .image,
.text_block .gallery img
{
    display: block;

    width: 100%;
}


.text_block table
{
    width: 100%;

    table-layout: fixed;
    border-spacing: 0;
    border-collapse: collapse;
}


.text_block table th
{
    font-size: 12px;
    font-weight: 600;
    line-height: 130%;

    padding: 9px 11px;

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

    border: 1px solid #b9b9b9;
    background: rgba(0, 0, 0, .06);
}


.text_block table td
{
    font-size: 12px;
    line-height: 130%;

    padding: 9px 11px;

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

    border: 1px solid #b9b9b9;
}



/*-----------------
    Main slider
-----------------*/
.main_slider
{
    background: #d9d9d9;
}


.main_slider .swiper-slide
{
    position: relative;

    overflow: hidden;
}


.main_slider .swiper-button-next,
.main_slider .swiper-button-prev
{
    top: 0;
    bottom: 0;

    margin: auto 0;

    color: #fff;
    background: rgba(177, 163, 155, .40);
}

/*

.main_slider .swiper-button-prev
{
    left: 50%;

    margin-left: -640px;
}


.main_slider .swiper-button-next
{
    right: 50%;

    margin-right: -640px;
} 
*/


.main_slider .swiper-button-prev
{
    left: 20px;

    margin-left: 0;
}


.main_slider .swiper-button-next
{
    right: 20px;

    margin-right: 0;
}


.main_slider .images
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    justify-content: flex-start;

    width: 100%;

    pointer-events: none;
}


.main_slider .images:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 174px;
    max-height: 50%;

    content: '';

    background: linear-gradient(0deg, rgba(44, 33, 34, .00) 0%, #2c2122 131.03%);
}


.main_slider .images:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 355px;
    max-height: 50%;

    content: '';

    background: linear-gradient(180deg, rgba(44, 33, 34, .00) 0%, #2c2122 116.83%);
}


.main_slider .images .image
{
    display: block;

    width: 100%;
}


.main_slider .images .image img
{
    display: block;

    width: 100%;
    height: calc(100vh - 113px);

    object-fit: cover;
}


.top_banner ~ .main_slider .images .image img
{
    height: calc(100vh - 142px);
}


.main_slider .video
{
    width: 100%;

    pointer-events: none;
}


.main_slider .video:before
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 174px;
    max-height: 50%;

    content: '';

    background: linear-gradient(0deg, rgba(44, 33, 34, .00) 0%, #2c2122 131.03%);
}


.main_slider .video:after
{
    position: absolute;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 355px;
    max-height: 50%;

    content: '';

    background: linear-gradient(180deg, rgba(44, 33, 34, .00) 0%, #2c2122 116.83%);
}


.main_slider .video video
{
    display: block;

    width: 100%;
    height: calc(100vh - 113px);

    object-fit: cover;
}


.top_banner ~ .main_slider .video video
{
    height: calc(100vh - 142px);
}


.main_slider .data
{
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;

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

    width: 100%;
    padding-top: 45px;
    padding-bottom: 45px;
}


.main_slider .title
{
    font-size: 56px;
    line-height: 120%;

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

    text-transform: uppercase;

    color: #fff;
	font-weight:100;
}

.main_slider a{
    font-size: 10px;
    line-height: 7px;
    height: 50px;
    line-height: 50px;
    padding: 0 30px;
    transition: box-shadow .2s linear;
    letter-spacing: .6px;
    text-transform: uppercase;
    background: #fff;
    box-shadow: 0 0 3px 0 #c7bbb4;
    text-decoration: none;
    display: inline-block;
    color: #000;
    margin-top: 26px;
}


.main_slider .title.right
{
    margin-left: auto;

    text-align: right;
}


.main_slider .title.center
{
    margin-right: auto;
    margin-left: auto;

    text-align: center;
}



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

    width: calc(100% + 80px);
    margin-right: -40px;
    margin-left: -40px;
}


.advantages .row > *
{
    width: 100%;
}


.advantages .row > * + *
{
    margin-left: -1px;
}


.advantages .item
{
    display: flex;
    flex-direction: column;

    padding: 34px 0 40px;

    text-align: center;

    border: 1px solid #e3e3e3;

    gap: 24px;
}


.advantages .item .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

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


.advantages .item .icon img
{
    display: block;

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


.advantages .item .icon + div
{
    width: 235px;
    max-width: 100%;
    margin: 0 auto;
}



/*-----------------
    Silhouettes
-----------------*/
.silhouettes .row
{
    align-content: stretch;
    align-items: stretch;

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


.silhouettes .row > *
{
    width: calc(12.5% - 4px);
    margin-bottom: 4px;
    margin-left: 4px;
}


.silhouettes .item
{
    font-size: 14px;
    line-height: 120%;
	font-weight:100;

    display: flex;
    flex-direction: column;

    padding: 28px;

    transition: box-shadow .2s linear;
    text-align: center;
    text-decoration: none;

    color: currentColor;
    background: #fff;
    box-shadow: 0 0 3px 0 #ebdfd7;

    gap: 16px;
}

.silhouettes .item h3 {
	font-weight:300;
	font-size:14px;
}


.silhouettes .item .icon
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 46px;
    height: 58px;
    margin: 0 auto;
}


.silhouettes .item .icon img
{
    display: block;

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


.silhouettes .item:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}



/*-------------------
    Photo gallery
-------------------*/
.photo_gallery .swiper
{
    overflow: visible !important;
}


.photo_gallery .swiper-wrapper
{
    transition-timing-function: linear !important;
}


.photo_gallery .item
{
    position: relative;

    display: block;

    text-decoration: none;

    color: currentColor;
}


.photo_gallery .item .image
{
    position: relative;

    display: block;

    padding-bottom: 148.223%;

    background: #d9d9d9;
}


.photo_gallery .item .image:before
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: opacity .2s linear;

    opacity: 0;
    background: linear-gradient(0deg, rgba(44, 33, 34, .40) 0%, rgba(44, 33, 34, .40) 100%);
}


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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.photo_gallery .item .icon
{
    position: absolute;
    z-index: 3;

    display: block;

    width: 26px;
    height: 26px;
    margin: auto;

    transition: opacity .2s linear;

    opacity: 0;
    color: #fff;

    inset: 0;
}


.photo_gallery .item:hover .image:before,
.photo_gallery .item:hover .icon
{
    opacity: 1;
}



/*------------------
    Action block
------------------*/
.action_block .bg
{
    position: relative;

    overflow: hidden;

    padding: 80px 80px 80px;

    background: #e4d7ce;
}


.action_block .data
{
    display: flex;
    flex-direction: column;

    width: 367px;
    max-width: 100%;
    min-height: 306px;
}

.action_block .data.big_w
{
    width: 408px;
}

.action_block .data.biggest_w
{
    width: 475px;
}


.action_block .title
{
    font-size: 40px;
    line-height: 120%;
    font-weight: 100;
    text-transform: uppercase;
}


.action_block .desc
{
    font-size: 16px;
    line-height: 120%;

    margin-top: 20px;
}


.action_block .btn_wrap
{
    margin-top: auto;
    padding-top: 40px;
}


.action_block .btn
{
    font-size: 10px;
    line-height: 7px;

    height: 50px;
    line-height: 50px;
    padding: 0 30px;

    transition: box-shadow .2s linear;
    letter-spacing: .6px;
    text-transform: uppercase;

    background: #fff;
    box-shadow: 0 0 3px 0 #c7bbb4;
    text-decoration: none;
    display: inline-block;
    color:#000;
}


.action_block .btn:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}


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

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

    gap: 10px;
}


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

    width: 60px;
    height: 60px;

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

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


.action_block .messengers .icon
{
    display: block;

    width: 24px;
    height: 24px;
}

.action_block .messengers a:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}


.action_block .socials
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

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

    gap: 4px;
}


.action_block .socials a
{
    font-size: 10px;
    line-height: 7px;

    position: relative;

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

    width: 138px;
    height: 48px;
    padding: 0 20px;

    transition: box-shadow .2s linear;
    text-decoration: none;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: currentColor;
    background: #fff;
    box-shadow: 0 0 3px 0 #c7bbb4;

    gap: 10px;
}


.action_block .socials .count
{
    font-size: 8px;
    line-height: 10px;

    position: absolute;
    top: 5px;
    right: 5px;

    white-space: nowrap;
    letter-spacing: .8px;
    text-transform: uppercase;

    color: #8e7669;
}


.action_block .socials .icon
{
    display: block;

    width: 17px;
    height: 17px;
}


.action_block .socials a:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}


.action_block .image
{
    position: absolute;
    right: 105px;
    bottom: 0;

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

    width: 449px;
    max-width: 100%;
    height: 100%;
    padding-top: 40px;
}


.action_block .image.big
{
    right: 65px;

    width: 528px;
}


.action_block .image img
{
    display: block;

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



/*----------
    Sale
----------*/
.sale .row
{
    align-content: stretch;
    align-items: stretch;

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


.sale .row > *
{
    width: calc(16.666% - 4px);
    margin-bottom: 4px;
    margin-left: 4px;
}


.sale .product
{
    position: relative;
}


.sale .product .discount
{
    font-size: 10px;
    line-height: 7px;

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

    padding: 10px;

    letter-spacing: 1px;
    text-transform: uppercase;
    pointer-events: none;

    color: #eee;
    background: rgba(0, 0, 0, .40);

            backdrop-filter: blur(2.5px);
    -webkit-backdrop-filter: blur(2.5px);
}


.sale .product .favorite_btn
{
    position: absolute;
    z-index: 3;
    top: 7px;
    right: 7px;

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

    width: 27px;
    height: 27px;

    color: rgba(255, 255, 255, 0);
	transition: all 0.15s ease;
}

.sale .product .favorite_btn:hover {
	color: rgba(255, 255, 255, 100);
}


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

    width: 20px;
    height: 18px;
}


.sale .product .thumb
{
    position: relative;

    display: block;

    text-decoration: none;

    color: currentColor;
}


.sale .product .thumb:after
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: opacity .2s linear;

    opacity: 0;
    background: rgba(44, 33, 34, .40);
}


.sale .product .image
{
    position: relative;

    display: block;

    padding-bottom: 143.147%;

    background: #d9d9d9;
}


.sale .product .image img
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.sale .product:hover .thumb:after
{
    opacity: 1;
}



/*-------------
    Reviews
-------------*/
.reviews .rating
{
    font-size: 12px;
    line-height: 8px;

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

    gap: 6px;
}


.reviews .rating .ya_logo
{
    display: block;

    width: 16px;
    height: 16px;
}


.reviews .rating .good_place
{
    margin-left: 1px;
}


.reviews .rating .stars
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    margin-left: 10px;

    color: #fc0;

    gap: 3px;
}


.reviews .rating .stars .icon
{
    display: block;

    width: 9px;
    height: 10px;
}


.reviews .rating .val
{
    font-weight: 700;

    margin-left: -2px;
}



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


.reviews .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.reviews .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}



.reviews .review
{
    display: flex;
    flex-direction: column;

    padding: 30px;

    background: #fff;

    gap: 20px;
}


.reviews .review .author
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
}


.reviews .review .author .photo
{
    display: block;

    width: 40px;
    height: 40px;

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


.reviews .review .author .photo img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.reviews .review .author .photo + *
{
    font-size: 12px;
    line-height: 100%;

    display: flex;
    align-self: center;
    flex-direction: column;

    width: calc(100% - 56px);

    gap: 6px;
}


.reviews .review .author .name
{
    font-size: 16px;
    line-height: 100%;
}


.reviews .review .info
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 6px;
}


.reviews .review .stars
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    color: #fc0;

    gap: 3px;
}


.reviews .review .stars .icon
{
    display: block;

    width: 9px;
    height: 10px;
}


.reviews .review .date
{
    line-height: 100%;
}


.reviews .review .text_block
{
    font-size: 14px;
    line-height: normal;

    margin-top: -8px;
}

.reviews .review .text_block > *
{
    margin-bottom: 14px;
}

.reviews .review .text_block > *.big_m
{
    margin-bottom: 28px;
}


.reviews .review .images
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 4px;
}


.reviews .review .images a
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.reviews .review .images .image,
.reviews .review .images img
{
    display: block;

    width: 119px;
    height: 119px;

    background: #d9d9d9;

    object-fit: cover;
}



/*-------------------
    Contacts info
-------------------*/
.contacts_info .cont
{
    display: flex;
    flex-direction: column;

    gap: 60px;
}


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

    margin-bottom: -32px;
    margin-left: -4px;
}


.contacts_info .row > *
{
    width: calc(33.333% - 4px);
    margin-bottom: 32px;
    margin-left: 4px;
}


.contacts_info .row > *.full_w
{
    width: calc(100% - 4px);
}


.contacts_info .item
{
    display: flex;
    flex-direction: column;

    color: #382312;

    gap: 10px;
}


.contacts_info .item .label
{
    font-size: 16px;
    line-height: 11px;
}


.contacts_info .item .val
{
    font-size: 28px;
}


.contacts_info .item .val a
{
    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


.contacts_info .item .val a:hover
{
    color: var(--text_color_h);
}


.contacts_info .item .phone
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 20px;
}


.contacts_info .item .phone a
{
    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


.contacts_info .item .phone a:hover
{
    color: var(--text_color_h);
}


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

    gap: 8px;
}


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

    width: 35px;
    height: 35px;

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

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


.contacts_info .item .messengers .icon
{
    display: block;

    width: 16px;
    height: 16px;
}


.contacts_info .item .messengers a:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}


.contacts_info .item .path_btn
{
    display: flex;

    margin-top: 20px;
}


.contacts_info .item .path_btn .btn
{
    font-size: 16px;

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

    height: 50px;
    padding: 0 30px;

    transition: box-shadow .2s linear;

    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 16px;
}


.contacts_info .item .path_btn .btn img
{
    display: block;

    width: 20px;
    height: 20px;
}


.contacts_info .item .path_btn .btn:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}



.contacts_info .map
{
    position: relative;

    overflow: hidden;

    width: calc(100% - 405px);
    height: 408px;

    border-radius: 0;
    background: #d9d9d9;
}



.contacts_info .requisites
{
    display: flex;
    flex-direction: column;

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

    color: #382312;

    gap: 20px;
}


.contacts_info .requisites .label
{
    font-size: 16px;
    line-height: 11px;
}


.contacts_info .requisites .val
{
    font-size: 20px;
}



.contacts_info .files
{
    width: 397px;
    max-width: 100%;
    margin-left: 4px;
}


.contacts_info .map + .files
{
    margin-left: auto;
}



/*-----------
    Files
-----------*/
.files
{
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.files .file
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    padding: 30px;

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

    color: #382312;
    background: #fff;

    gap: 30px 10px;
}


.files .file .name
{
    font-size: 20px;

    width: 100%;
}


.files .file .icon
{
    display: block;

    width: 18px;
    height: 18px;
}


.files .file:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}



/*-------------
    Gallery
-------------*/
.gallery .grid
{
    display: grid;

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


.gallery .grid > *:nth-child(1)
{
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}


.gallery .grid > *:nth-child(2)
{
    grid-row: 1 / 3;
    grid-column: 2 / 4;
}


.gallery .item
{
    position: relative;

    display: block;

    text-decoration: none;

    color: currentColor;
}


.gallery .item .image
{
    position: relative;

    display: block;

    width: 100%;
    height: 100%;
}


.gallery .item .image:before
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: opacity .2s linear;

    opacity: 0;
    background: linear-gradient(0deg, rgba(44, 33, 34, .40) 0%, rgba(44, 33, 34, .40) 100%);
}


.gallery .item .image img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.gallery .item .icon
{
    position: absolute;
    z-index: 3;

    display: block;

    width: 26px;
    height: 26px;
    margin: auto;

    transition: opacity .2s linear;

    opacity: 0;
    color: #fff;

    inset: 0;
}


.gallery .item:hover .image:before,
.gallery .item:hover .icon
{
    opacity: 1;
}



/*--------------
    Articles
--------------*/
.articles .row
{
    position: relative;

    align-content: stretch;
    align-items: stretch;

    margin-bottom: -8px;
    margin-left: -4px;

    --gap: 4px;
}


.articles .row > *
{
    width: calc(33.333% - 4px);
    margin-bottom: 8px;
    margin-left: 4px;
}


.articles .article
{
    display: flex;
    flex-direction: column;

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

    color: currentColor;
}


.articles .article .info
{
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;

    padding: 20px;

    background: #fff;

    gap: 20px;
}


.articles .article .thumb,
.articles .article .thumb img
{
    display: block;

    width: 100%;
}


.articles .article .thumb.fixed_h
{
    position: relative;

    padding-bottom: 100%;

    background: #d9d9d9;
}


.articles .article .thumb.fixed_h img
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.articles .article .name
{
    font-size: 20px;

    color: #3c3937;
}


.articles .article .desc
{
    font-size: 14px;
    line-height: 120%;

    color: #1a1a1a;
}


.articles .article:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}



/*------------------
    Article info
------------------*/
.article_info .data
{
    display: flex;
    flex-direction: column;

    width: 798px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;

    gap: 60px;
}



.article_info .head
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
}



.article_info .author
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 20px;
}


.article_info .author .photo
{
    display: block;

    width: 60px;
    height: 60px;

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


.article_info .author .photo img
{
    display: block;

    width: 100%;
    height: 100%;

    border-radius: inherit;

    object-fit: cover;
}


.article_info .author .photo + *
{
    display: flex;
    align-self: center;
    flex-direction: column;

    max-width: calc(100% - 80px);

    gap: 10px;
}


.article_info .author .name
{
    font-weight: 500;
    line-height: 10px;

    letter-spacing: .84px;
    text-transform: uppercase;
}


.article_info .author .post
{
    line-height: 10px;
}



/*-----------
    Share
-----------*/
.share
{
    display: flex;
}


.share .btn
{
    font-size: 10px;
    line-height: 7px;

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

    height: 50px;
    padding: 0 30px;

    transition: box-shadow .2s linear;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #382312;
    background: #fff;
    box-shadow: 0 0 3px 0 #ebdfd7;

    gap: 12px;
}


.share .btn .icon
{
    display: block;

    width: 12px;
    height: 12px;
}


.share .btn:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}



/*---------------
    Favorites
---------------*/
.favorites .list
{
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.favorites .product
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: space-between;

    padding-right: 19px;

    border: 1px solid #f3efed;
}


.favorites .product .thumb
{
    display: block;

    width: 106px;
    max-width: 100%;
    min-height: 161px;

    text-decoration: none;

    color: currentColor;
}


.favorites .product .thumb .image,
.favorites .product .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.favorites .product .thumb + *
{
    align-self: center;

    width: calc(100% - 174px);
    padding: 19px 0;
}


.favorites .product .name
{
    font-size: 18px;
    line-height: 100%;
}


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

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

    color: currentColor;
}


.favorites .product .price
{
    font-size: 12px;
    line-height: 8px;

    margin-top: 14px;

    text-transform: uppercase;
}


.favorites .product .btn
{
    font-size: 10px;
    line-height: 7px;

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

    margin-top: 24px;
    padding: 11px;

    letter-spacing: .6px;
    text-transform: uppercase;

    border: 1px solid #d9d9d9;
    background: #fff;

    gap: 8px;
}


.favorites .product .btn .icon
{
    display: block;

    width: 12px;
    height: 8px;

    color: #9e9e9e;
}


.favorites .product .remove_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    align-self: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 20px;
    height: 20px;

    color: #a9a9a9;
}


.favorites .product .remove_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}



/*------------------
    Fitting room
------------------*/
.fitting_room .list
{
    display: flex;
    flex-direction: column;

    gap: 4px;
}


.fitting_room .product
{
    display: flex;
    align-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: space-between;

    padding-right: 19px;

    border: 1px solid #f3efed;
}


.fitting_room .product .thumb
{
    display: block;

    width: 106px;
    max-width: 100%;
    min-height: 161px;

    text-decoration: none;

    color: currentColor;
}


.fitting_room .product .thumb .image,
.fitting_room .product .thumb img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.fitting_room .product .thumb + *
{
    align-self: center;

    width: calc(100% - 174px);
    padding: 19px 0;
}


.fitting_room .product .name
{
    font-size: 18px;
    line-height: 100%;
}


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

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

    color: currentColor;
}


.fitting_room .product .price
{
    font-size: 12px;
    line-height: 8px;

    margin-top: 14px;

    text-transform: uppercase;
}


.fitting_room .product .remove_btn
{
    display: flex;
    align-content: center;
    align-items: center;
    align-self: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 20px;
    height: 20px;

    color: #a9a9a9;
}


.fitting_room .product .remove_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}



/*-------------
    Catalog
-------------*/
.catalog .grid
{
    display: grid;

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


.catalog .grid > *:first-child
{
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}


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

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


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


.catalog .category
{
    position: relative;

    display: block;

    text-decoration: none;

    color: #fff;
}


.catalog .category .thumb
{
    position: relative;

    display: block;

    min-height: 119px;
    padding-bottom: 73.578%;

    background: #c4c1c1;
}


.catalog .category .thumb:before
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 241px;
    max-height: 100%;

    content: '';
    pointer-events: none;

    background: linear-gradient(180deg, rgba(44, 33, 34, .00) 5.75%, rgba(44, 33, 34, .90) 100%);
}


.catalog .category .thumb:after
{
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
    transition: opacity .2s linear;
    pointer-events: none;

    opacity: 0;
    background: linear-gradient(0deg, rgba(44, 33, 34, .40) 0%, rgba(44, 33, 34, .40) 100%);
}


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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.catalog .category .name
{
    font-size: 30px;
    line-height: 120%;

    position: absolute;
    z-index: 3;
    right: 0;
    bottom: 12px;

    width: 100%;
    padding: 20px 30px 10px 20px;

    text-align: right;
    text-transform: uppercase;
	font-weight:100;
}


.catalog .grid .category:not(:first-child) .thumb:before
{
    height: 82px;
}


.catalog .grid .category:not(:first-child) .name
{
    font-size: 20px;

    padding: 14px 30px 14px 14px;
}


.catalog .category:hover .thumb:after
{
    opacity: 1;
}



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

    margin-bottom: 20px;
}


.products .head .filter_btn
{
    font-size: 12px;
    line-height: 8px;

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

    padding: 16px 20px;

    transition: box-shadow .2s linear;
    letter-spacing: 1.2px;
    text-transform: uppercase;

    color: #382312;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;

    gap: 6px;
}


.products .head .filter_btn .icon
{
    display: block;

    width: 12px;
    height: 8px;
}


.products .head .filter_btn:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}


.products .head .sort
{
    position: relative;
}


.products .head select
{
    display: none;
}


.products .head .nice-select
{
    position: relative;

    cursor: pointer;
}


.products .head .nice-select .current
{
    font-size: 12px;
    line-height: 8px;

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

    height: 40px;
    padding-right: 19px;

    cursor: pointer;
    transition: color .2s linear;
    white-space: nowrap;
    letter-spacing: .72px;
    text-transform: uppercase;
    text-overflow: ellipsis;

    color: #382312;
}


.products .head .nice-select .current:hover
{
    color: var(--text_color_h);
}


.products .head .nice-select-dropdown
{
    position: absolute;
    z-index: 9;
    top: 100%;
    right: 0;

    visibility: hidden;
    overflow: hidden;

    min-width: 100%;
    padding: 20px;

    transition: .2s linear;
    transform: none;

    opacity: 0;
    background: #fff;
    box-shadow: 0 0 8px 0 #f0e8e0;
}


.products .head .nice-select .list
{
    display: flex;
    overflow: auto;
    flex-direction: column;

    gap: 12px;
    overscroll-behavior-y: contain;
}


.products .head .nice-select .list .option
{
    font-size: 12px;

    display: block;

    list-style-type: none;

    cursor: pointer;
    white-space: nowrap;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #382312;
}


.products .head .nice-select .list .option:empty
{
    display: none;
}


.products .head .nice-select.open .nice-select-dropdown
{
    visibility: visible;

    transform: none;

    opacity: 1;
}


.products .head .sort .icon
{
    position: absolute;
    z-index: 5;
    top: 0;
    right: 0;
    bottom: 0;

    display: block;

    width: 13px;
    height: 8px;
    margin: auto 0;

    pointer-events: none;

    color: #382312;
}



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


.products .swiper-slide
{
    position: relative;

    visibility: hidden;

    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;

    opacity: 0;
}


.products .swiper-slide.visible
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}


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

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


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


.products .product
{
    position: relative;

    display: flex;
    flex-direction: column;

    transition: box-shadow .2s linear;

    background: #fff;
    box-shadow: 0 0 3px 0 #ebdfd7;
}


.products .product .stickers
{
    font-size: 10px;
    line-height: 7px;

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

    display: flex;

    letter-spacing: 1px;
    text-transform: uppercase;
    pointer-events: none;

    color: #eee;
}


.products .product .stickers .sticker
{
    display: inline-block;

    padding: 10px;

    vertical-align: top;

    background: rgba(183, 172, 164, .40);

            backdrop-filter: blur(2.5px);
    -webkit-backdrop-filter: blur(2.5px);
}


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

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

    width: 27px;
    height: 27px;

    color: rgba(255, 255, 255, 0);
	transition: all 0.15s ease;
}


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

    width: 20px;
    height: 18px;
}


.products .product .thumb
{
    display: block;

    text-decoration: none;

    color: currentColor;
	transition: all 0.15s ease;
}


.products .product .image
{
    position: relative;

    display: block;

    padding-bottom: 151.515%;

    background: #d9d9d9;
	transition: all 0.15s ease;
}


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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


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

    padding: 16px;

    gap: 12px;
}


.products .product .name
{
    font-size: 17px;
    line-height: 100%;
}


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

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

    color: currentColor;
}


.products .product .price
{
    font-size: 12px;
    line-height: 10px;

    text-transform: uppercase;
}


.products .product:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}



.products .banner
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.products .banner .image
{
    display: block;

    width: 100%;
    height: 100%;
}


.products .banner img
{
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}



/*-----------------
    Filter info
-----------------*/
.filter_info .item
{
    padding: 0 30px;
}


.filter_info .item .name
{
    font-size: 18px;
    line-height: 13px;

    color: #382312;
}


.filter_info .item .data
{
    padding-top: 20px;
}


.filter_info .item .range .fields
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;

    padding: 0;
}


.filter_info .item .range .field
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 10px;
}


.filter_info .item .range .label
{
    font-size: 12px;
    line-height: 8px;

    margin: 0;

    letter-spacing: .84px;
    text-transform: uppercase;

    color: #382312;
}


.filter_info .item .range .input
{
    width: 100px;
    height: 40px;

    text-align: center;
}



/*------------------
    Product info
------------------*/
.product_info .images
{
    width: calc(100% - 502px);
}


.product_info .images .swiper-button-next,
.product_info .images .swiper-button-prev
{
    top: 0;
    bottom: 0;

    display: none;

    margin: auto 0;
}


.product_info .images .swiper-button-prev
{
    left: var(--cont_padding);
}

.product_info .images .swiper-button-next
{
    right: var(--cont_padding);
}


.product_info .images .swiper-pagination
{
    display: none;
}


.product_info .images .row
{
    margin-bottom: -4px;
    margin-left: -4px;
}


.product_info .images .row > *
{
    width: calc(50% - 4px);
    margin-bottom: 4px;
    margin-left: 4px;
}


.product_info .images .item
{
    display: block;

    text-decoration: none;

    color: currentColor;
}


.product_info .images .image
{
    position: relative;

    display: block;

    padding-bottom: 149.856%;

    background: #d9d9d9;
}


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

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.product_info .data
{
    position: sticky;
    top: 91px;

    width: 498px;
    max-width: 100%;
    margin-left: auto;
    padding: 40px;
    padding-top:32px;

    background: #fff;
    box-shadow: 0 0 3px 0 #ebdfd7;
}


.product_info .discount
{
    font-size: 10px;
    font-weight: 300;
    line-height: 7px;

    position: absolute;
    top: 12px;
    right: 0;

    padding: 10px 10px;

    white-space: nowrap;
    letter-spacing: 1px;
    text-transform: uppercase;

    color: #eee;
    background: rgba(0, 0, 0, .40);

            backdrop-filter: blur(2.5px);
    -webkit-backdrop-filter: blur(2.5px);
}


.product_info .product_name
{
    font-size: 36px;
    font-weight: inherit;
    line-height: 120%;

    display: block;

    text-transform: uppercase;

    color: #3a3636;
	font-weight:100;
}


.product_info .price
{
    font-size: 22px;
    line-height: 15px;

    margin-top: 18px;

    text-transform: uppercase;

    color: #3a3636;
}


.product_info .price .old
{
    font-weight: 300;

    text-decoration: line-through;

    color: #838383;

    text-decoration-thickness: 1px;
}


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

    margin-top: 14px;

    gap: 4px;
}


.product_info .tags > *
{
    font-size: 10px;
    line-height: 7px;

    display: block;

    padding: 8px 10px;

    text-decoration: none;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: #382312;
    background: #f2f2f2;
}

.product_info .tags a{
    color: #382312;
    text-decoration: none;
}


.product_info .desc
{
    font-size: 14px;
    line-height: 120%;

    margin-top: 14px;
    min-height: 198px;
    color: #75665a;

}


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


.product_info .desc > *.big_m
{
    margin-bottom: 40px;
}



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

    margin-top: auto;
    padding: 30px 0;
}


.product_info .buy .status
{
    font-size: 14px;
    line-height: 10px;

    position: relative;

    padding-left: 14px;

    color: #382312;
}


.product_info .buy .status:before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 8px;
    height: 8px;
    margin: auto 0;

    content: '';

    border-radius: 50%;
}

.product_info .buy .status.green:before
{
    background: #6ec379;
}


.product_info .buy .address
{
    font-size: 14px;
    line-height: 10px;

    margin-left: 6px;

    color: #75665a;
}


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

    width: 100%;
    margin-top: 20px;

    gap: 4px;
}


.product_info .buy .buy_btn
{
    font-size: 12px;
    line-height: 8px;

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

    height: 48px;
    padding: 0 20px;

    transition: background .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    background: #d9949e;

    gap: 10px;
}

.product_info .buy .buy_btn.active{
	opacity: 0.5;
}

.product_info .buy .buy_btn:disabled{
    pointer-events: none;
    opacity: 0.5;
}


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

    width: 18px;
    height: 12px;
}


.product_info .buy .buy_btn:hover
{
    background: var(--accent_color_h);
}


.product_info .buy .favorite_btn
{
    font-size: 12px;
    line-height: 8px;

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

    height: 48px;
    padding: 0 19px;

    transition: box-shadow .2s linear;
    letter-spacing: .72px;
    text-transform: uppercase;

    border: 1px solid #d9d9d9;
    background: #fff;

    gap: 10px;
}


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

    width: 20px;
    height: 18px;
}


.product_info .buy .favorite_btn:hover
{
    box-shadow: 0 0 10px 0 #ebdfd7;
}


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

    width: calc(100% + 80px);
    margin-right: -40px;
    margin-bottom: -40px;
    margin-left: -40px;
    padding: 20px 40px;

    border-top: 1px solid #efefef;

    gap: 6px;
}


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

    width: 30px;
    min-width: 30px;
    height: 30px;

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

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


.product_info .messengers .icon
{
    display: block;

    width: 14px;
    height: 14px;
}


.product_info .messengers .label
{
    font-size: 10px;
    line-height: 120%;

    margin-left: 10px;

    letter-spacing: .6px;
    text-transform: uppercase;

    color: #543a2d;
}


.product_info .messengers a:hover
{
    background: #f3efed;
}



/*-----------------------
    Mob. fixed search
-----------------------*/
.mob_fixed_search
{
    position: fixed;
    z-index: 99;
    right: 0;
    bottom: 64px;
    left: 0;

    display: none;

    width: 320px;
    max-width: 100%;
    margin: 0 auto;
    padding: 8px;

    border-radius: 28px;
    background: rgba(217, 148, 158, .80);

    gap: 8px;
}


.mob_fixed_search ::-webkit-input-placeholder
{
    color: var(--text_color);
}

.mob_fixed_search :-moz-placeholder
{
    color: var(--text_color);
}

.mob_fixed_search ::-moz-placeholder
{
    opacity: 1;
    color: var(--text_color);
}

.mob_fixed_search :-ms-input-placeholder
{
    color: var(--text_color);
}


.mob_fixed_search .input
{
    font-family: var(--font_family);
    font-size: 10px;
    font-weight: inherit;

    display: block;

    width: 100%;
    height: 40px;
    padding: 0 47px 0 15px;

    transition: border-color .2s linear;
    letter-spacing: .6px;
    text-transform: uppercase;

    color: var(--text_color);
    border: 1px solid #f0f0f0;
    border-radius: 36px;
    background: #f0f0f0;
}

.mob_fixed_search .input:-webkit-autofill
{
    -webkit-box-shadow: inset 0 0 0 50px var(--form_bg_color) !important;
}


.mob_fixed_search .submit_btn
{
    position: absolute;
    z-index: 3;
    top: 0;
    right: 12px;
    bottom: 0;

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

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


.mob_fixed_search .submit_btn .icon
{
    display: block;

    width: 16px;
    height: 16px;
}


.mob_fixed_search.show
{
    display: block;
}



/*---------------------
    Mob. fixed btns
---------------------*/
.mob_fixed_btns
{
    position: fixed;
    z-index: 99;
    bottom: 6px;
    left: 50%;

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

    padding: 8px;

    transform: translateX(-50%);

    border-radius: 28px;
    background: rgba(217, 148, 158, .80);

    gap: 8px;
}


.mob_fixed_search.show ~ .mob_fixed_btns
{
    border-radius: 0 0 28px 28px;
}


.mob_fixed_btns .btn
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    width: 42px;
    height: 42px;

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


.mob_fixed_btns .btn .icon
{
    display: block;

    width: 16px;
    height: 16px;
}



/*------------
    Footer
------------*/
footer .data
{
    padding: 60px 0;

    border-top: 1px solid #e1e1de;
}


footer .bottom
{
    padding: 20px 0;

    background: #e4d7ce;
}


footer .bottom .cont
{
    align-content: center;
    align-items: center;
}



footer .col
{
    display: flex;
    flex-direction: column;

    width: 326px;
    max-width: 100%;
    margin-right: auto;

    gap: 30px;
}



footer .logo img
{
    display: block;

    width: 131px;
    height: 24px;
}



footer .contacts
{
    line-height: 120%;

    display: flex;
    flex-direction: column;

    gap: 14px;
}


footer .contacts a
{
    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;

    color: currentColor;
}


footer .contacts a:hover
{
    color: var(--text_color_h);
}



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

    gap: 16px;
}


footer .phone > a
{
    font-size: 18px;
    line-height: 120%;

    transition: color .2s linear;
    white-space: nowrap;
    text-decoration: none;
    text-transform: uppercase;

    color: currentColor;
}


footer .phone > a:hover
{
    color: var(--text_color_h);
}


footer .phone .messengers
{
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-start;

    gap: 6px;
}


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

    width: 24px;
    height: 24px;

    text-decoration: none;

    color: currentColor;
}


footer .phone .messengers .icon
{
    display: block;

    width: 24px;
    height: 24px;
}



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


footer .links .items
{
    font-size: 12px;
    line-height: 14px;

    display: flex;
    flex-direction: column;

    letter-spacing: 1.2px;
    text-transform: uppercase;

    gap: 20px;
}


footer .links .items a
{
    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}


footer .links .items a:hover,
footer .links .items a.active
{
    color: var(--text_color_h);
}



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

    letter-spacing: .84px;
    text-transform: uppercase;
}



footer .privacy_policy_link
{
    font-size: 10px;
    line-height: 120%;

    margin-left: 36px;

    letter-spacing: .6px;
    text-transform: uppercase;
}


footer .privacy_policy_link a
{
    text-decoration: none;

    color: currentColor;
}



footer .creator
{
    display: flex;

    margin-left: auto;
}


footer .creator a
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;

    text-decoration: none;

    color: currentColor;

    gap: 10px;
}


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

    padding: 9px 12px;

    background: #fff;
	transition: all .2s linear;
}

footer .creator picture:hover{
	background: #B9AA9F;
}


footer .creator picture img
{
    display: block;

    width: 132px;
    height: 12px;
}



/*-----------------
    Small modal
-----------------*/
.small_modal
{
    position: fixed;
    z-index: 101;
    top: 0;
    left: 100%;

    display: flex;
    flex-direction: column;

    width: 538px;
    max-width: 100%;
    height: 100%;

    transition: transform .3s linear;

    background: #fff;

    gap: 30px;
}


.small_modal.left
{
    right: 100%;
    left: auto;
}


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

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


.small_modal .close_btn
{
    position: absolute;
    z-index: 9;
    top: 16px;
    right: 13px;

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

    width: 30px;
    height: 30px;

    transition: color .2s linear;

    color: #505050;
}


.small_modal .close_btn:hover
{
    color: var(--text_color_h);
}


.small_modal .close_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}


.small_modal .modal_title
{
    font-size: 24px;

    padding: 30px;

    letter-spacing: 1.44px;
    text-transform: uppercase;

    color: #3a3636;
}


.small_modal .back_btn
{
    font-size: 24px;

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

    padding: 30px;

    text-align: left;
    letter-spacing: 1.44px;
    text-transform: uppercase;

    color: #3a3636;

    gap: 12px;
}


.small_modal .back_btn .icon
{
    display: block;

    width: 8px;
    height: 16px;

    color: #b6b6b6;
}


.small_modal .back_btn span
{
    max-width: calc(100% - 20px);
}


.small_modal .scroll
{
    overflow: auto;
    flex: 1;

    width: calc(100% - 4px);
    padding: 0 26px 0 30px;

    overscroll-behavior-y: contain;
}


.small_modal .scroll::-webkit-scrollbar
{
    width: 4px;
    height: 4px;

    background-color: #f6f5f0;
}


.small_modal .scroll::-webkit-scrollbar-thumb
{
    background-color: #d9d9d9;
}


.small_modal .form
{
    display: flex;
    flex: 1;
    flex-direction: column;
}


.small_modal .form .fields
{
    padding: 0 30px;
}


.small_modal .form .submit
{
    margin-top: auto;
}


.small_modal .bottom
{
    display: flex;
    flex-direction: column;

    margin-top: auto;

    gap: 10px;
}


.small_modal .bottom .btn
{
    font-size: 12px;
    line-height: 8px;
    line-height: 120%;

    width: 100%;
    height: 60px;

    letter-spacing: .72px;
    text-transform: uppercase;

    color: #fff;
    background: #d9949e;
}



/*------------------------
    Small modal - Menu
------------------------*/
#menu_small_modal
{
    display: flex;
    flex-direction: column;
}


#menu_small_modal .menu_wrap
{
    position: relative;

    overflow: hidden;
    flex: 1 0 auto;

    padding: 30px;
}


#menu_small_modal .menu
{
    font-size: 20px;
    font-weight: 300;
    line-height: 14px;

    display: flex;
    flex-direction: column;

    letter-spacing: 1.2px;
    text-transform: uppercase;

    gap: 30px;
}


#menu_small_modal .menu a
{
    display: inline-block;

    transition: color .2s linear;
    vertical-align: top;
    text-decoration: none;

    color: currentColor;
}


#menu_small_modal .menu a:hover
{
    color: var(--text_color_h);
}


#menu_small_modal .catalog_menu,
#menu_small_modal .catalog_menu .sub
{
    position: absolute;
    z-index: 3;
    top: 0;
    left: 100%;

    display: flex;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;

    width: 100%;
    height: 100%;
    padding: 30px;

    transition: transform .3s linear;

    background: #fff;

    overscroll-behavior-y: contain;
    gap: 30px;
}


#menu_small_modal .catalog_menu.show,
#menu_small_modal .catalog_menu .sub.show
{
    transform: translateX(-100%);
}


#menu_small_modal .catalog_menu .back
{
    display: flex;

    padding-right: 24px;
}


#menu_small_modal .catalog_menu .back .btn
{
    font-size: 20px;

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

    transition: color .2s linear;
    letter-spacing: 1.2px;
    text-transform: uppercase;

    color: #3a3636;

    gap: 30px;
}


#menu_small_modal .catalog_menu .back .btn:hover
{
    color: var(--text_color_h);
}


#menu_small_modal .catalog_menu .back .btn .icon
{
    display: block;

    width: 8px;
    height: 16px;
}


#menu_small_modal .catalog_menu .items
{
    font-size: 14px;
    font-weight: 300;

    display: flex;
    flex-direction: column;

    letter-spacing: .84px;
    text-transform: uppercase;

    gap: 20px;
}


#menu_small_modal .catalog_menu .items a
{
    transition: color .2s linear;
    text-decoration: none;

    color: currentColor;
}


#menu_small_modal .catalog_menu .items a:hover
{
    color: var(--text_color_h);
}


#menu_small_modal .location
{
    font-size: 10px;
    line-height: 120%;

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

    margin-top: auto;
    padding: 0 30px 30px;

    letter-spacing: .6px;
    text-transform: uppercase;

    gap: 8px;
}


#menu_small_modal .location .icon
{
    display: block;

    width: 10px;
    height: 12px;
    margin-bottom: 2px;
}


#menu_small_modal .location .btn
{
    transition: color .2s linear;
    text-transform: uppercase;

    border-bottom: 1px dashed #c6c3bc;
}


#menu_small_modal .location .btn:hover
{
    color: var(--text_color_h);
}



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

    width: 492px;
    max-width: 100%;
    padding: 40px;

    color: var(--text_color);
    background: #fff;
    box-shadow: 0 0 3px 0 #ebdfd7;
}


.modal .modal_title
{
    font-size: 22px;
    font-weight: 300;
    line-height: 120%;

    margin-bottom: 36px;

    text-align: center;
}



/*------------------
    PopUp - City
------------------*/
#city_modal .options
{
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;

    gap: 10px;
}


#city_modal .options .btn
{
    font-size: 10px;
    font-weight: 300;
    line-height: 120%;

    height: 50px;
    padding: 0 29px;

    transition: .2s linear;
    letter-spacing: .6px;
    text-transform: uppercase;

    border: 1px solid #d3d3d3;
    background: #fff;

    display: flex;
    align-items: center;
    text-decoration: none;
    color: var(--text_color);
}


#city_modal .options .btn:hover,
#city_modal .options .btn.active
{
    border-color: #d9949e;
}


form  span[data-name='text-118'] input.input{
    width: 120px;
}

.wpcf7-form-control-wrap:has(span[data-name='text-118']){
    width: 100%;
}

.image-block_mob{
    display: none;
    margin-top: 43px;
}

.image-block_mob img{
    max-width: 100%;
}
.js-count-fav:empty, .js-count-fit:empty{
    display: none;
}
.js-count-fav:not(:empty), .js-count-fit:not(:empty){
    min-width: 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    position: absolute;
    left: 11px;
    top: -7px;
    background: #BE818A;
    /*box-shadow: 0px 0px 3px #C7BBB4;*/
	/*box-shadow:0px 0px 3px #895A61;*/
    border-radius: 30px;
    flex: none;
    order: 1;
    flex-grow: 0;
    z-index: 1;
    font-size: 8px;
    line-height: 14px;
    text-transform: uppercase;
    color: #FFFFFF;
    height: 14px;
    /*padding: 0 4px;*/
	padding:1px 0px 0px 1px;
	font-weight:500;
}

.mob_fixed_btns .btn{
    position: relative;
}

.mob_fixed_btns .js-count-fav:not(:empty), .mob_fixed_btns .js-count-fit:not(:empty){
    left: 24px;
    top: -2px;
}

.favorites .product .status {
    font-size: 14px;
    line-height: 10px;
    position: relative;
    padding-left: 14px;
    color: #382312;
    margin-top: 20px;
}

.favorites .product .status.red:before {
    background: red;
}
.favorites .product .status:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    margin: auto 0;
    content: '';
    border-radius: 50%;
}

.small_modal .bottom .btn:disabled{
    opacity: 0.3;
}


.video_review .image {
    position: relative;
    display: block;
    padding-bottom: 177.779%;
    background: #d9d9d9;
    transition: all 0.15s ease;
}

.video_review .image img{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video_review .icon{
    width: 50px;
    height: 50px;
    position: absolute;
    top: calc(50% - 25px);
    left: calc(50% - 25px);
    z-index: 1;
}

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

.video_reviews .swiper-slide {
    position: relative;
    visibility: hidden;
    transition: opacity .2s linear, visibility .2s linear;
    pointer-events: none;
    opacity: 0;
}

.video_reviews .swiper-slide.visible {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}

.product .thumb img{
    transition: opacity .2s linear;
}

.product .thumb img + img {
    z-index: 1;
    opacity: 0;
}

.product:hover .thumb img + img {
    opacity: 1;
}

.product_added_modal{
    position: fixed;
    z-index: 150;
    bottom: 12px;
    left: 50%;
    display: none;
    overflow: hidden;
    width: 400px;
    transform: translateX(-50%);
    background: #fff;
    box-shadow: 0px 0px 15px #E4D9D3; 
}


.product_added_modal .close_btn
{
    position: absolute;
    z-index: 9;
    top: 10px;
    right: 10px;

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

    width: 20px;
    height: 20px;

    transition: color .2s linear;

    color: #A9A9A9;
}

.product_added_modal .close_btn:hover
{
    color: var(--text_color_h);
}

.product_added_modal .close_btn .icon
{
    display: block;

    width: 100%;
    height: 100%;
}


.product_added_modal .product {
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 16px;
}

.product_added_modal .product .thumb {
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    width: 87px;
    height: 127px;
    background: #e5e8ec;
}

.product_added_modal .product .thumb img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.product_added_modal .product .info {
    display: flex;
    flex-direction: column;
    width: calc(100% - 116px);
    min-height: 126px;
    gap: 14px;
}

.product_added_modal .product .message {
    font-weight: 300;
    font-size: 10px;
    line-height: 120%;
    display: flex;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
    color: #3A3636;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.product_added_modal .product .name {   
    font-weight: 300;
    font-size: 18px;
    line-height: 120%;
    color: #3A3636;
    margin-bottom: auto;
}

.product_added_modal .product button{
    font-weight: 300;
    font-size: 10px;
    line-height: 120%;
    letter-spacing: 0.06em;
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
    height: 40px;
    padding: 0 20px;
    transition: box-shadow .2s linear;
    text-transform: uppercase;
    border: 1px solid #d9d9d9;
    background: #fff;
    color: #000000;
    width: 185px;
}

.product_added_modal .product button:hover {
    box-shadow: 0 0 10px 0 #ebdfd7;
}

.product_added_modal .progress {
    position: absolute;
    z-index: 9;
    bottom: 0;
    left: 0;
    width: 0;
    height: 4px;
    transition: width 3s linear;
    pointer-events: none;
    background: var(--accent_color);
}

.product_added_modal .progress.animate
{
    width: 100%;
}

.wpcf7 form .wpcf7-response-output{
    display: none !important;
}

#thanks .modal_title{
    margin-bottom: 0;
}

.wpcf7-form.invalid .agree span[data-name="agree"]:not(.checked) + .check{
    border-color:red;
}

.has-html5video .fancybox__content{
    height: 100% !important;
}