

.mb1{margin-bottom:8px}.mb2{margin-bottom:16px}.mb3{margin-bottom:32px}.mt1{margin-top:8px}.mt1-1{margin-top:12px}.mt2{margin-top:16px}.mt2-1{margin-top:24px}.mt3{margin-top:32px}.mt4{margin-top:48px}

header .top ul{
    align-items: center;
}
header .top .button_content a{
    display: block;
}

.product{
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    border: 1px solid #E7E9EC;
    border-radius: 18px;
    padding: 16px 16px 6px;
}
.product .name{
    flex: 1;
}
.products_list{
    grid-gap: 20px;
}
.popup_content .product{
    padding: 0;
    border: none;
}
.product .good_note{
    color: #a1a1a1;
    font-size: 11px;
    padding: 6px 12px;
    border-radius: 8px;
    width: 100%;
    text-align: center;
    margin-top: 7px;
}

#basket_items_content h4{
    font-size: 17px;
    text-align: center;
    padding: 20px 0px 30px;
    font-weight: 400;
    text-transform: #902067;
}

.img_banner.height_limit img{
    max-height: 400px;
}
.img_banner.light:before{
    opacity: 0.2;
}
.img_banner.min_height img{
    min-height: 220px;
}

.home_slider .slide{
    height: unset;
    max-height: 500px;
}
.home_slider .slide.img_banner img{
    min-height: unset;
}
.home_slider .slide:hover{
    opacity: 0.96;
}

#load_more{
    width: 200px;
    margin: 20px auto;
}
#load_more.loading{
    background: none;
}
#load_more.loading:after{
    background: #8b8b8b;
    width: 30px;
    height: 30px;
    left: unset;
    top: unset;
}
#snackbars{
    z-index: 2000;
}
.input textarea{
    height: 100px;
}
.input input[readonly="readonly"]{
    background: #fafafa;
}
.status.small{
    font-size: 14px;
}


@-webkit-keyframes loading-outer-animation {
    0% {
        opacity: 0.2;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        opacity: 0.2;
    }
}

@keyframes loading-outer-animation {
    0% {
        opacity: 0.2;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        opacity: 0.2;
    }
}
.is_loading{
    position: relative;
    pointer-events: none;
    user-select: none;
    opacity: 0.3;
    min-height: 60px;
    -webkit-animation:loading-outer-animation 2s ease infinite;
    animation:loading-outer-animation 2s ease infinite
}
.is_loading > div{
    /* opacity: 0.1; */
}
.is_loading:after{
    content:" ";
    -webkit-mask:url(../img/loader.svg) no-repeat center;
    mask:url(../img/loader.svg) no-repeat center;
    -webkit-mask-size:100%;
    mask-size:100%;
    background:black;
    width:32px;
    height:32px;
    position:absolute;
    display:block;
    top:50%;
    top:calc(50% - 16px);
    left:50%;
    left:calc(50% - 16px);
    -webkit-animation:loading-animation 1s linear infinite;
    animation:loading-animation 1s linear infinite
}

.no_data{
    position: relative;
    pointer-events: none;
    user-select: none;
    min-height: 60px;
}
.no_data:after{
    content: "Список пуст...";
    position: absolute;
    display: block;
    text-align: center;
    width: 100%;
    text-transform: uppercase;
    color: #ccc;
    font-weight: 500;
}

.rangeslider--horizontal{
    height: 10px;
}
.rangeslider, .rangeslider__fill{
    -webkit-box-shadow: none;
    box-shadow: none;
}
.rangeslider__fill {
    background: #902067;
}
.rangeslider__handle {
    background: white;
    width: 20px;
    height: 20px;
    border: none;
    -webkit-box-shadow: 0px 0px 3px #00000026;
    box-shadow: 0px 0px 3px #00000026;
}
.rangeslider--horizontal .rangeslider__handle{
    top: -5px;
}
.rangeslider__handle:after{
    content: none;
}

.product_order .blocks .bonus_block{
    display: grid;
    grid-template-columns: 1fr 49px;
    gap: 16px;
}
.product_order .blocks .bonus_range{
    display: none;
    grid-column: span 2;
    height: 50px;
}
.product_order .blocks .block.not_selected .labels .subtitle{
    color: #f26868;
    font-weight: 500;
}
.bonus_res{
    text-align: center;
    padding: 11px 0px;
    font-size: 14px;
}

.product_order .has_click_overlay .masked_icon{
    transition: 0.1s ease transform;
}
.product_order .has_click_overlay.active > .masked_icon{
    transform: rotate(180deg);
}

.product_order .button_content{
    width: 100%;
    top: 100%;
    left: 0;
}


.inherited_select_list .name{
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
}
.inherited_select_list .inner_items{
    margin-top: 26px;
}
.inherited_select_list .items{
    margin-top: 11px;
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
}
.inherited_select_list .items span{
    display: inline-block;
    background: #f0f0f5;
    border-radius: 15px;
    padding: 7px 15px;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}
.inherited_select_list .items span.active{
    background: #121214;
    color: #fff;
    cursor: default;
}
.inherited_select_list .items span:not(.active):hover{
    opacity: 0.7;
}
.inherited_select_list .items span.disabled{
    opacity: 0.5;
    pointer-events: none;
}

.catalog_menu_section .catalog_menu .container {
    grid-template-columns: 343px 1fr;
}
.catalog_menu_section .catalog_menu .container .sections_list>ul li{
    margin-bottom: 4px;
    padding: 5px 11px;
    padding-right: 32px;
}

@media (max-width: 599px){
    .catalog_menu_section .catalog_menu .container .sections_list>ul li{
        padding: 21px 35px 21px 15px;
        margin: 0;
    }
    .catalog_menu_section .catalog_menu .container{
        grid-template-columns: 1fr;
    }
}
body.disable_scroll{
    overflow: hidden;
}

.catalog_menu_section, body.fixed .catalog_menu_section{
    height: 80vh;
}
.catalog_menu_section .catalog_menu{
    min-height: unset;
    height: 100%;
    padding: 0;
}
.catalog_menu_section .catalog_menu .container{
    height: 100%;
    padding: 0;
    margin: 0px auto;
}
.catalog_menu_section .catalog_menu .container .sections_list, .catalog_menu_section .catalog_menu .container .section_categories_list{
    padding: 20px;
    overflow: auto;
    height: 100%;
}


@media (max-width: 599px){
    .catalog_menu_section .catalog_menu .container .sections_list {
        padding: 0;
    }
}

.article_item{
    position: relative;
    height: unset;
    max-height: 220px;
}

.flags{
    align-items: flex-end;
}

.article_item .flags{
    position: absolute;
    top: 10px;
    right: 10px;
}
.home_slider .img_banner .title_desc{
    /* left: 80px;
    right: 80px; */
}
.home_slider .slick-arrow{
    position: absolute;
    left: 0px;
    width: 45px;
    height: 50px;
    top: 50%;
    top: calc(50% - 25px);
    cursor: pointer;
    z-index: 1;
    background: rgb(246 247 248 / 60%);
    border-radius: 8px 0px 0px 8px;
}
.home_slider .slick-arrow:after{
    content: "";
    -webkit-mask: url(../img/arr_left.svg) no-repeat center;
    mask: url(../img/arr_left.svg) no-repeat center;
    -webkit-mask-size:100%;
    mask-size: 12px;
    position: absolute;
    width: 100%;
    height: 100%;
    background: black;
}
.home_slider .slick-arrow:hover:after{
    background: #902067;
}
/* .home_slider .slick-arrow:hover{
    opacity: 0.2;
} */
.home_slider .slick-arrow.slide_next{
    left: unset;
    right: 0px;
    border-radius: 0px 8px 8px 0px;
}
.home_slider .slick-arrow.slide_next:after{
    transform: rotate(180deg);
}

.home_slider{
    margin-top: 32px;
    border-radius: 10px;
    overflow: hidden;
}
.product .image .photos a{
    height: 100%;
}
.product .image .photos a:hover{
    opacity: 1;
}



.qs-datepicker-container{
    font-family: inherit;
    border: none;
    border-radius: 4px 4px 8px 8px;
}
.qs-controls{
    padding: 5px 5px;
    background: #8f2066;
}
.qs-arrow.qs-left:after, .qs-arrow:hover.qs-left:after{
    border-right-color: white;
}
.qs-arrow.qs-right:after, .qs-arrow:hover.qs-right:after{
    border-left-color: white;
}
.qs-month-year{
    color: white;
    font-weight: 500;
    border: none;
}
.qs-month-year:hover{
    border: none;
}
.qs-squares{
    padding: 12px 6px;
}
.qs-day{
    font-weight: 500;
    color: grey;
    text-transform: uppercase;
}
.qs-square:not(.qs-empty):not(.qs-disabled):not(.qs-day):not(.qs-active):hover {
    background: #f8f8fa;
}
.qs-active, .qs-range-end, .qs-range-start{
    background-color: #8f2066;
    color: white;
}
.form .block .input span.qs-month, .form .block .input span.qs-year{
    position: relative;
    right: unset;
    top: unset;
    color: white;
    display: inline;
}
.form .block .input input.qs-overlay-year, .form .block .input input.qs-overlay-year:focus{
    background: none;
    padding: 7px 0px;
    border: none;
    border-bottom: 1px solid #ffffff30;
    border-radius: 0;
    color: white;
    margin-bottom: 6px;
}
.list.notifications_list .section .items .item.without_link{
    padding-right: 20px;
    background: white;
    cursor: default;
}
.notifications_list a{
    display: block;
}

.product_order .form.blocks .block:not(:last-child):after{
    right: 0;
}
.review_block{
    margin-bottom: 30px;
}

.map{
    overflow: hidden;
    border-radius: 12px;
    position: relative;
}
.map .map_inner{
    height: 100%;
}
.map .map_detail{
    bottom: 20px;
    left: 20px;
    position: absolute;
    display: none;
    max-width: 400px;
}
.map .map_detail .detail_with_icon{
    flex: 1;
}

.detail_with_icon .full_image{
    width: unset;
    height: unset;
    max-width: 70%;
    margin-top: 14px;
    border-radius: 10px;
}

.catalog_page .categories_list ul li span:after{
    top: 40%;
    top: calc(50% - 10px);
}

.sub_list{
    position: relative;
    width: 100%;
    height: 40px;
    margin-bottom: 20px;
}
.sub_list ul{
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;

    
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
.sub_list ul::-webkit-scrollbar {
    display: none;
}
.sub_list ul li{
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 16px;
    padding: 8px 12px;
}

.right_side_popup.centered .inner{
    margin: 0px auto;
    right: 38%;
    right: calc(50% - 210px);
    top: 50px;
    bottom: 50px;
    border-radius: 10px;
}

.right_side_popup .product.big .image:after{
    content: "";
    position: absolute;
    left: 42%;
    top: 42%;
    left: calc(50% - 20px);
    top: calc(50% - 20px);
    width: 40px;
    height: 40px;
    background: #912E6A;
    transition: 0.1s ease opacity;
    opacity: 0.3;

    -webkit-mask:url(../img/fi/eye.svg) no-repeat center;
    mask:url(../img/fi/eye.svg) no-repeat center;
    -webkit-mask-size:100%;
    mask-size:100%;
    pointer-events: none;
}
.right_side_popup .product.big .image:hover:after{
    opacity: 0.7;
}
@media (max-width: 599px){
    .popup.right_side_popup.centered .inner.with_controls {
        right: 0;
        top: 0;
        bottom: 0;
        border-radius: 0;
    }
}

.home_blocks{
    grid-template-columns: 1fr 1fr 1fr;
}
.home_blocks .img_banner .img2{
    display: none;
}

.home_blocks .img_banner:nth-child(1) .img2, .home_blocks .img_banner:nth-child(2) .img2{
    display: block;
}

@media (max-width: 900px){
    .home_blocks {
        grid-template-columns: 1fr 1fr;
    }

    .home_blocks .img_banner:nth-child(1) .img2, .home_blocks .img_banner:nth-child(2) .img2{
        display: none;
    }

    .home_blocks .img_banner:nth-child(1) .img3, .home_blocks .img_banner:nth-child(2) .img3{
        display: block;
    }
}




.chat_block{
    display: grid;
    grid-template-rows: 1fr 90px;
    grid-gap: 16px;
    max-height: 600px;
    margin-top: 20px;
}

.chat_block .messages_list{
    overflow: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0px 14px;
    align-items: flex-start;
    min-height: 200px;
}
.chat_block .message{
    font-weight: 600;
    font-size: 12px;
    line-height: 125%;
    padding: 16px;
    background: #f9f9fa;
    border-radius: 8px;
    color: #676c7c;
    position: relative;
    max-width: 300px;
    display: flex;
    flex-direction: column;
}
.chat_block .message:before{
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 3px;
    transform: rotate(45deg);
    bottom: 10px;
    background: #f9f9fa;
    left: -5px;
}
.chat_block .message.self{
    align-self: end;
    background: #902067;
    color: white;
    display: flex;
    flex-direction: column;
}
.chat_block .message.self:before{
    background: #902067;
    left: unset;
    right: -5px;
}
.images-block.self {
    align-self: end;
}
.chat_block .message .time{
    display: block;
    opacity: 0.4;
}
.chat_block .area{
    display: flex;
    align-items: center;
    border: 1px solid #ecedf0;
    border-radius: 8px;
    padding: 14px;
    gap: 20px;
}
.chat_block .area .area_input{
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.chat_block .area textarea{
    line-height: 1.3;
    flex: 1;
}

.chat_block.with_reply{
    grid-template-rows: 1fr 110px;
}
.chat_block.with_reply .area .reply_text{
    display: flex;
}
.chat_block .area .reply_text{
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 500;
    background: #3333330d;
    padding: 5px;
    border-radius: 4px;
    position: relative;
    max-height: 30px;
    display: none;
    justify-content: space-between;
    align-items: center;
}
.chat_block .area .reply_text .remove_reply{
    width: 20px;
    height: 20px;
    display: block;
    background: url(../img/fi/x-circle.svg) no-repeat center;
    background-size: 80%;
    cursor: pointer;
    opacity: 0.4;
    margin-left: 6px;
}

.chat_block .area .send{
    opacity: 0.8;
    cursor: pointer;

    width: 30px;
    height: 100%;
    mask-size: 20px;
    -webkit-mask-size: 20px;
}
.chat_block .area .send:hover{
    opacity: 1;
}
.chat_block .message .message_reply{
    display: flex;
    background: #00000024;
    padding: 8px;
    border-radius: 10px;
    opacity: 0.7;
    margin-bottom: 10px;
    align-self: end;
}
.chat_block .message .message_reply img{
    border-radius: 10px;
}
.message-text {
    display: flex;
    flex-direction: column;
}
.reply_icon {
    font-size: 14px;
    color: #ffffff;
    width: 16px;
    align-self: baseline;
    margin-left: 5px;
}
#chat_counter{
    display: inline-block;
    background: #902067;
    color: white;
    width: 20px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    margin-left: 10px;
}

.product .slick-dots button{
    background: #902067;
}

.text a{
    color: #902067;
}

.plus_minus:not(.added) .price.has_old .value{
    color: #902067;
}
.plus_minus > p{
    font-size: 15px;
    flex: 1;
    text-align: center;
    color: #676c7c;
}

.checkbox.small{
    font-size: 13px;
    font-weight: 400;
    color: #444;
    line-height: 19px;
}
.checkbox.small .checkmark{
    top: 4px;
}

.cookie_view{
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    z-index: 1000;
    display: none;
}
.cookie_view .container{
    display: flex;
    align-items: center;
    padding: 20px 20px;
}
.cookie_view .container img{
    width: 35px;
}
.cookie_view .container p{
    flex: 1;
    margin: 0px 20px;
}
.cookie_view .container p a{
    color: #902067;
    font-weight: 600;
}
@media (max-width: 700px){
    .cookie_view .container{
        flex-direction: column;
        display: flex;
        align-items: stretch;
    }
    .cookie_view .container p{
        margin: 20px 0px;
    }
    .cookie_view .container img{
        align-self: center;
    }
}

.upload_image_target{
    display: none;
}

.message_block .subtitle a{
    color: #8f2066;
    font-weight: bold;
}

.form .block .input span{
    height: 50px;
}
@media (max-width: 599px){
    .product_order .button_content.click_content {
        top: unset;
    }
}
.message_block .apps{
    margin-top: 20px;
}
.message_block .apps img{
    width: 190px;
    margin-bottom: 20px;
}

.apps-registration {
    display: flex;
    align-items: center;
    gap: 50px;
}

.apps-registration .image-appstore {
    width: 120px;
}

.home_line_slider{
    height: 400px;
    margin-top: 40px;
    border-radius: 10px;
    overflow: hidden;
}
.home_line_slider .slide_item{
    /* width: 300px;
    height: 300px; */
    display: block;
    /* overflow: hidden; */
    margin: 0px 14px;
}
.home_line_slider .slide_item img{
    border-radius: 10px;
    object-fit: cover;
    width: 400px;
    height: 400px;
}

.home_line_slider .slick-arrow{
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    width: 70px;
    cursor: pointer;
    background-color: red;
    z-index: 1;
    background: url(../img/arr_left.svg) no-repeat center;
    background-size: 14px;
    opacity: 0.1;
}
.home_line_slider .slick-arrow:hover{
    opacity: 0.2;
}
.home_line_slider .slick-arrow.slide_next{
    left: unset;
    right: 0px;
    background-image: url(../img/arr_right.svg);
}

@media (max-width: 900px){
    .home_line_slider{
        height: 300px;
    }
    .home_line_slider .slide_item img{
        border-radius: 20px;
        object-fit: cover;
        width: 300px;
        height: 300px;
    }
}


.img_banner img{
    min-height: 70px;
}
.img_banner.square{
    margin: 40px auto 0px;
    width: 460px;
}

@media (max-width: 700px){
    .img_banner.square{
        margin: 40px auto 0px;
        width: 100%;
    }

    .img_banner img{
        min-height: 70px;
    }
}


.line_slider .item{
    padding: 0px 20px;
}
.product_info .product_order .note{
    gap: 0px;
    margin: 0px -20px;
    font-weight: 600;
}
.line_slider .article_item img{
    object-fit: contain;
    -o-object-fit: contain;
    width: unset;
}

@media (max-width: 599px){

    .with_right_block .side_block .card {
        max-height: 95vh;
    }
    .line_slider .article_item img{
        height: 37vw;
    }

}


.ingredient.as_order_item{
    margin-bottom: 13px;
    align-items: center;
}
.ingredient.as_order_item label{
    font-size: 16px;
    font-weight: 500;
}

.form .upload_images_block{
    display: grid;
    margin-top: 10px;
    grid-template-columns: repeat(auto-fill, minmax(50px, 60px));
    grid-gap: 12px;
}
.form .upload_images_block .item{
    width: unset;
}
.mb1{
    margin-bottom: 10px;
}

.select_block{
    display: flex;
    justify-content: space-evenly;
    margin-top: 20px;
}
.select_block .item{
    display: flex;
    gap: 10px;
    align-items: center;
    flex-direction: column;
    cursor: pointer;
    padding: 15px 0px;
    width: 120px;
    border: 3px solid #f8f8f8;
    border-radius: 14px;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
}

.select_block .item.selected{
    border-color: #902067;
    background: #902067;
    color: white;
    font-weight: bold;
}
.select_block .item.selected .masked_icon{
    background-color: white;
}

.count_input{
    width: 71px;
    font-size: 13px;
    display: flex;
    align-items: center;
    padding: 6px 6px;
    border: 1px solid #eee;
    border-radius: 4px;
    font-weight: 500;
}

.edit_order_item{
    display: grid;
    grid-template-columns: 1fr 140px;
    align-items: center;
    padding: 10px 0px;
    grid-gap: 21px;
}

@media (max-width: 599px){
    .with_right_block .side_block .card .flex_buttons + .flex_buttons {
        padding-top: 0px;
    }
}

.trio_grid .small_gap{
    grid-gap: 20px;
}
.trio_grid .article_item{
    max-height: unset;
}
.trio_grid.unset_height .article_item img{
    height: unset;
}

.corner_outer{
    display: flex;
    border-radius: 20px;
    background: #20b426;
}
.corner_outer .masked_icon{
    background-color: white;
}
.corner_outer:hover{
    opacity: 0.9;
}

.rounded_item {
    padding: 20px;
    border-radius: 20px;
    border: 2px solid #f0f0f5;
    margin-top: 10px;
    position: relative;
    cursor: pointer;
}
.rounded_item.active {
    border-color: #902067;
}

.geocode_results{
    margin-top: 30px;
}
.show_popup, .show_address_popup{
    cursor: pointer;
}


.list_modal_content.with_hover .item{
    display: block;
    position: relative;
    padding: 14px 20px;
    padding-right: 50px;
    transition: .1s ease background-color;
    cursor: pointer;
}
.list_modal_content .item.active:after{
    content: " ";
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    width: 50px;
    background: url(../img/fi/check.svg) no-repeat center right 20px;
    background-size: 20px;
}
.list_modal_content.with_hover .item:hover{
    background: #f8f8f8;
}

.geocode_map > *{
    width: 100%;
    height: 100%;
    position: absolute;
}

.geocode_map .map_overlay{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    pointer-events: none; 
}
.geocode_map .map_overlay .pin{
    width: 28px;
    height: 28px;
    display: block;
    -webkit-mask:url(../img/icons/location-fill.svg) no-repeat center;
    mask:url(../img/icons/location-fill.svg) no-repeat center;
    -webkit-mask-size:100%;
    background-color: red;
    mask-size:100%;

    background-size: 100%;
}
.geocode_map .map_overlay .title{
    font-weight: 600;
    box-shadow: 0px 2px 5px #00000024;
    background: white;
    padding: 6px 10px;
    border-radius: 11px;
    position: absolute;
    margin-top: 80px;
}
.geocode_map .map_overlay .title.is_loading{
    font-size: 0px;
    opacity: 1;
    background: none;
    box-shadow: none;
}
.geocode_map .map_button{
    background: white;
    top: 10px;
    left: 10px;
    width: unset;
    height: unset;
    font-size: 15px;
    font-weight: 600;
    padding: 5px 15px;
    border-radius: 7px;
    box-shadow: 1px 3px 10px #0000001f;
    cursor: pointer;
    display: flex;
    align-items: center;
}
.geocode_map .map_button i{
    margin-right: 8px;
}


/* ARTICLE TEXT CKEDITOR */
.article .text ol, .article .text ul{
    list-style-position: inside;
    margin-left: 40px;
}
.article .text ul{
    list-style: unset;
    list-style-position: inside;
}
.article .text blockquote{
    padding: 20px;
    background: #f8f8f8;
    border-radius: 10px;
    margin: 20px 0px;
    font-style: italic;
    font-weight: 600;
    position: relative;
}
.article .text img{
    width: unset;
}
.article .text table{
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0px;
}

.article .text table {border-collapse:collapse;border-spacing:0;width:100%;display:table;border:1px solid #ccc}
.article .text table tr {border-bottom:1px solid #ddd}
.article .text table tr:nth-child(odd) {background-color:#fff}
.article .text table tr:nth-child(even) {background-color:#E7E9EB}
.article .text table td, .article .text table th {padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}
.article .text table th:first-child, .article .text table td:first-child{padding-left:16px}
.article .text table th{
    padding-top: 11px;
    padding-bottom: 11px;
    background-color: #902067;
    color: white;
}
.article .text figure.image{
    position: relative;
    /* width: unset !important;
    height: unset !important; */
}
.article .text figure.image figcaption{
    position: absolute;
    bottom: 23px;
    left: 18px;
    max-width: 100%;
    background: white;
    padding: 7px 13px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
}
.article .text img{
    width: 100% !important;
    height: unset !important;
}

@media (max-width: 900px){
    .article .text img{
        width: 100% !important;
        height: unset !important;
    }
    .article .text figure.image{
        width: unset !important;
        height: unset !important;
    }
}


.contacts-map-pin{
    width: 30px;
    height: 30px;
    display: block;
    background: url(../img/favicon.png) no-repeat center white;
    border-radius: 15px;
    cursor: pointer;
    background-size: 22px;
    box-shadow: 1px 0px 5px #00000045;
}



/* CONSTRUCTOR */

.chips {
    display: flex;
    flex-wrap: wrap
}
.chips .chips_item{
    margin: 5px;
}

.chips .wide {
    flex: 1
}

.chips_item {
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    padding: 9px 16px;
    background: #f9f9fa;
    border-radius: 22px;
    cursor: pointer;
    border: 1px solid transparent;
    display: flex;
    align-items: center;
    color: #3d3f49;
    gap: 8px;
    justify-content: space-between
}
.chips_item .color{
    width: 20px;
    height: 20px;
    border-radius: 10px;
}

.chips_item.with_icon {
    padding-right: 8px
}

.chips_item .masked_icon {
    background: #3d3f49
}

.chips_item:hover {
    color: #902067;
    background: #9020670f;
    border: 1px solid transparent
}

.chips_item:hover .masked_icon {
    background: #902067
}
.chips_item.deleted{
    text-decoration: line-through;
}
.chips_item.active,.chips_item.with_border {
    font-weight: 600;
    font-size: 14px;
    line-height: 160%;
    color: #902067;
    border: 1px solid
}

.chips_item.active .masked_icon,.chips_item.with_border .masked_icon {
    background: #902067
}

.chips_item.active:hover {
    border: 1px solid transparent
}

.chips_item.with_border {
    background: none;
    font-weight: normal
}

.chips_item.with_border:hover {
    background: #9020670f
}
.button.inactive{
    opacity: 0.5;
    cursor: default;
}

.constructor_section{

}
.constructor_section .chips{
    margin-bottom: 30px;
    justify-content: center;
}
.constructor_buttons{
    position: fixed;
    bottom: 0px;
    left: 0px;
    right: 0px;
    display: flex;
    justify-content: center;
    z-index: 9;
    transition: 0.3s ease bottom;
}
.constructor_buttons.hidden{
    bottom: -100px;
}
.constructor_buttons .outer{
    display: flex;
    justify-content: center;
    background: white;
    padding: 12px 20px;
    box-shadow: 0px 3px 5px #00000029;
    border-radius: 20px 20px 0px 0px;
}
.constructor_buttons *:not(:last-child){
    margin-right: 10px;
}
.section_title{
    text-align: center;
    margin: 40px;
}
.section_title h3{
    display: block;
    margin-bottom: 10px;
    font-weight: 300;
}
.section_title h5{
    font-weight: 400;
    color: #9a9a9a;
}
.section_title .button{
    display: inline-flex;
    margin-top: 30px;
}

.constructor_grid{

}

.constructor_flex{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
.constructor_item {
    cursor: pointer;
    transition: 0.1s ease opacity;
    position: relative;
}
.constructor_item.inactive {
    cursor: default;
}
.constructor_item.inactive:hover{
    opacity: 1;
}
.constructor_item.rounded{
    border: 4px solid #f0f0f5;
    padding: 18px;
    border-radius: 16px;
}
.constructor_item.rounded.selected{
    border-color: #902067;
}
.constructor_flex .constructor_item{
    margin-bottom: 20px;
}
.constructor_flex .constructor_item:not(:last-child){
    margin-right: 20px;
}
.constructor_item:not(.selected):hover{
    opacity: 0.7;
}
.constructor_item.big{
    min-width: 300px;
    max-width: 48%;
}
.constructor_item.selected:after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: white;
    border-radius: 20px;
    box-shadow: 1px 2px 5px #00000021;
    background: white url(../img/fi/check.svg) no-repeat center;
}
.constructor_item.not_selected{
    opacity: 0.5;
}
.constructor_item.not_selected:hover{
    opacity: 1;
}

.constructor_card{
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: relative;
}

.constructor_card img{
    height: 220px;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 8px;
}
.constructor_card .title{
    color: #121214;
    font-size: 20px;
    font-weight: 500;
    word-wrap: break-word;
}
.constructor_card .description {
    color: #84848a;
    font-size: 17px;
    font-weight: normal;
    word-wrap: break-word;
}
.constructor_card .flags{
    position: absolute;
    top: 10px;
    right: 10px;
}
.constructor_card .price{
    flex: 1;
    text-align: center;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}
.constructor_card .price .weight{
    color: #757575;
    font-size: 16px;
}
.constructor_card .price .value{
    font-size: 21px;
    color: #000;
    font-weight: 700;
}
.constructor_section_slider .slider_item{
    width: 220px;
    padding-right: 12px;
}

.constructor_section_slider .constructor_item{
    max-width: 300px;
}
.constructor_section_slider .constructor_item.big{
    max-width: 420px;
}

.create_food_form_section{
    display: grid;
    grid-template-columns: 400px 1fr;
    grid-gap: 20px;
    align-items: start;
}
.create_food_form_section > *{
    min-width: 1px;
}

.constructor_section .status{
    padding: 12px 10px;
}

@media (max-width: 660px){
    .constructor_flex .constructor_item.big{
        margin-right: 0px;
        width: 100%;
        max-width: unset;
    }
    .constructor_flex .constructor_item:not(:last-child){
        margin-right: 0px;
        margin-bottom: 20px;
    }

    .constructor_section_slider .constructor_item.big{
        max-width: 300px;
    }
}

@media (max-width: 740px){
    .create_food_form_section{
        grid-template-columns: 1fr;
    }
    .create_food_form_section{
        grid-template-columns: 1fr;
    }
}

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

/* стили для чата */
.upload-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.upload-button {
    width: 80px;
    height: 80px;
    background-color: #ffffff;
    border: 2px dashed #902067;
    color: #902067;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s;
    box-shadow: 0 4px 6px rgba(171, 71, 188, 0.5);
}
.upload-button:hover {
    background-color: #f8bbd0;
}
.upload-icon {
    font-size: 24px;
}

.upload_images_block {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.upload_images_block .item {
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    background-color: #333;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.upload_images_block .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.message-images {
    display: contents;
}
.image-message{
    align-self: end;
}
.image-message img{
    border-radius: 6px;
    margin-bottom: 7px;
}
.image-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}
.modal-content {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    background-color: transparent;
    padding: 0;
    justify-content: center;
    align-items: center;
}

.image-container {
    width: auto;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-content img {
    display: block;
    max-width: 50%;
    max-height: 100%;
    object-fit: contain;
}
.modal-close {
    position: absolute;
    top: 20px;
    right: 258px;
    color: white;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
    border: none;
    border-radius: 50px;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 5px;
}
.message:not(.self) .timestamp {
    color: #676c7c;
    font-size: 9px;
    align-self: end;
    font-weight: 300;
    margin-right: 16px;
}
.chat_block .message.self .timestamp {
    color: white;
    font-size: 9px;
    align-self: end;
    font-weight: 300;
}
.hidden-photo-block {
    display: none;
}