* {
    box-sizing: border-box !important;
}
/* E40046 */
body {
    font-family: var(--font-family);
    font-weight: normal;
    font-style: normal;
    margin: 0;
    background-color: #fff;
}
* {
    outline: none !important;
}

.pr-container {
    max-width: 1600px;
    padding: 0 15px;
    margin: 0 auto;
    
}


.food-btn {
    /*font-size: calc(var(--font) * 26);*/
    font-size: 1.3rem;
    font-weight: bold;
    color: var(--base-color);
    border: 2px solid var(--base-color);
    background-color: #fff;
    border-radius: 5px;
    cursor: pointer;
    
    width: calc(var(--font) * 140);
    height: calc(var(--font) * 50);
    /*line-height: 1.6;*/
    line-height: 1.0;
    /*display: flex;*/
    justify-content: center;
    align-items: center;
    padding: 5px 10px;
        
    -moz-transition: 0.4s;
    -webkit-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
    /*box-sizing: content-box;*/
    white-space: nowrap;
}
@media (max-width: 767.98px) {
    .food-btn {
        /*font-size: calc(var(--font) * 18);*/
        width: calc(var(--font) * 110);
        height: calc(var(--font) * 36);
    }
}
.food-btn:hover {
    background-color: var(--base-color);
    color: #fff;
}

a.food-btn {
    /*display: block;*/
    display: flex;
    text-align: center;
    text-decoration: none;
}
a.food-btn:hover,
a.food-btn:focus,
a.food-btn:active {
    text-decoration: none;
}
.food-btn-red {
    color: #fff;
    background-color: var(--base-color);
}
.food-btn-red:hover {
    background-color: #fff;
    color: var(--base-color);
}

a {
    color: var(--base-color);
    text-underline-offset: 0.2rem;
    text-decoration-thickness: 0.07rem;
}

@media only screen and (max-width: 767.98px) {
    .food-btn {
        height: calc(var(--font) * 30);
        width: calc(var(--font) * 85);
        /*font-size: calc(var(--font) * 16);*/
        font-weight: 600;
        line-height: 1.0;
        
        padding: 2px 10px;
        display: flex;
        justify-content: center;
    }
    .cart-upsell-footer .food-btn {
        /*width: 100%;*/
        margin-left: auto;
        margin-right: auto;
    }
}
@media only screen and (max-width: 360px) {
    .food-btn {
        width: 75px;
        font-size: 16px;
        font-weight: 600;
    }
}

.food-btn-big {
    /*font-size: 30px;*/
    font-size: 2.0rem;
    width: 100%;
    height: auto;
    padding: 4px;
    border-radius: 4px;
    text-align: center;
    opacity: 1;
    letter-spacing: 0px;
    height: 48px;
}
@media only screen and (max-width: 767.98px) {
    .food-btn-big {
        font-size: 18px;
        width: 100%;
        height: 40px;
    }
}



/*
.main-section-product {
    display: inline-block;
    width: 100%;
}
*/
.main-section-product:first-child {
    padding-bottom: 20px;
}


h1.section-title {
    /*font-size: 42px;*/
    font-size: 2.7rem;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 30px;  
    text-align: center;
}
@media only screen and (max-width: 767.98px) {
    h1.section-title {
        font-size: 25px;
        line-height: 30px;
        margin-top: 0;
        margin-bottom: 20px;  
        text-align: center;
    }
}

h2.section-title {
    /*font-size: 48px;*/
    font-size: 2.7rem;
    font-weight: 600;
    line-height: 1.2;
    color: #000;
    text-align: center;
    margin: 0;
    padding-top: 40px;
    padding-bottom: 40px;
}
@media only screen and (max-width: 767.98px) {
    h2.section-title {
        /*font-size: 36px;*/
        line-height: 1;
        font-weight: 500;
        padding-top: 20px;
        padding-bottom: 20px;
    }
}


.product-item {
    margin-bottom: 70px;
    text-align: center;
    display: block; 
}
@media only screen and (max-width: 767.98px) {
    .product-item {
        display: flex;
        padding: 16px 0px;
        min-height: 0;
        margin-top: 0;
        margin-bottom: 0;
        /*min-height: 160px;*/
    }
    .product-item:not(:last-child) {
        border-bottom: 1px solid rgb(243, 243, 247);
    }
}
.row .col-3 .product-item {
    padding-left: 27px;
    padding-right: 27px;
}
@media (min-width: 768px) {
    .row .col-3 .product-item {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    .product-item__price-footer {
        height: 52px;
    }
    .product-item__coin-footer {
        height: 28px;
    }
}

@media only screen and (max-width: 1245.98px) {
    .row .col-3 {
        width: 25%;
    }
    .row .col-3:last-child .product-item {
        padding-right: 40px;
        padding-left: 40px;
    }
}
@media (min-width: 768px) and (max-width: 850px) {
    .row .col-3 .product-item {
        padding-left: 20px;
        padding-right: 20px;
    }
    .row .col-3:first-child .product-item {
        padding-left: 20px;
        padding-right: 20px;
    }
    .row .col-3:last-child .product-item {
        padding-right: 20px;
        padding-left: 20px;
    }
}
@media only screen and (max-width: 767.98px) {
    .row .col-3 .product-item, 
    .row .col-3:first-child .product-item, 
    .row .col-3:last-child .product-item {
        padding-left: 15px;
        padding-right: 15px;
    }
}
@media only screen and (max-width: 600px) {
    .row .col-3 .product-item, 
    .row .col-3:first-child .product-item, 
    .row .col-3:last-child .product-item {
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media only screen and (max-width: 570px) {
    .row .col-3 .product-item, 
    .row .col-3:first-child .product-item, 
    .row .col-3:last-child .product-item {
        padding-left: 0px;
        padding-right: 0px;
    }
}

@media only screen and (min-width: 1246px) {
    .home-page .col-3:nth-child(4n+1) {
        clear: both;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1245.98px) {
    .home-page .col-3:nth-child(3n+1) {
        clear: both;
    }
}
@media only screen and (max-width: 767.98px) {
    .home-page .col-3:nth-child(2n+1) {
        clear: both;
    }
}


.product-item__image {
    width: 100%;
    position: relative;
}
@media only screen and (max-width: 767.98px) {
    .product-item__image {
        flex: 0 0 auto;
        position: relative;
        margin: 0px 8px 0px 0px;
        width: 135px;
        height: 135px;
    }
}

@media only screen and (max-width: 360px) {
    .product-item__image {
        width: 110px;
        height: 110px;
    }
}

.product-item__image-wrap {
    /*height: 240px;*/
    aspect-ratio: 1 / 1;
    overflow: hidden;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}
@media only screen and (max-width: 767.98px) {
    .product-item__image-wrap {
        height: auto;
    }
}
@media only screen and (max-width: 570px) {
    .product-item__image-wrap {
        display: block;
    }
}
.product-item__image-wrap img:first-child {
    /*max-height: 240px;*/
    max-height: 100%;
    max-width: 100%;
    /*aspect-ratio: 1 / 1;*/
}
#sauces .product-item__image-wrap img:first-child {
    max-height: 80%;
    max-width: 80%;
}
@media only screen and (max-width: 767.98px) {
    .product-item__image-wrap img:first-child {
        /*max-height: 135px;*/
    }
}

@media (min-width: 768px) {
    .page-index .product-item__image-icon {
        position: absolute;
        width: auto;
        top: 0px;
        height: 27px;
    }
    .page-index .product-item__image-icon_left {
        left: 27px;
    }
    .page-index .product-item__image-icon_right {
        right: 27px;
    }
}
@media (max-width: 767.98px) {
    .page-index .product-item__image-icon {
        position: absolute;
        width: auto;
        top: 0px;
        height: 18px;
    }
    .page-index .product-item__image-icon_left {
        left: 0px;
    }
    .page-index .product-item__image-icon_right {
        right: 0px;
    }
}

.product-item__title {
    margin: 8px 0px;
    color: rgb(0, 0, 0);
    /*font-size: calc(var(--font) * 32);*/
    font-size: 1.5rem;
    line-height: 1.0;
    font-weight: 600;
    text-align: left;
}
@media only screen and (max-width: 768.98px) {
    .product-item__title {
        /*font-size: calc(var(--font) * 18);*/
        line-height: 1.2;
        margin: 0px 0px 4px;
    }
}
.product-item__descr {
    margin: 0px;
    width: 100%;
    /*font-size: calc(var(--font) * 22);*/
    font-size: 1.1rem;
    line-height: 1.3;
    color: rgb(115, 121, 140);
    font-weight: 400;
    text-align: left;
    margin-bottom: calc(var(--font) * 10);
}
@media (max-width: 767.98px) {
    .product-item__descr {
        font-size: calc(var(--font) * 14);
    }
}
@media (min-width: 768px) {
    .product-item__descr {
        flex: 1 1 auto; /* займає весь вільний простір */
        flex-grow: 1;
    }
    .row-catalog {
        display: flex;
        flex-wrap: wrap;
    }
    .row-catalog > .col-3 {
        flex: 0 0 auto;
        display: flex;
        flex-direction: column;
        position: relative;
    }
}

.product-item__name-descr {
    width: 100%;
}

@media (min-width: 768px) {
    .product-item__name-descr {
        min-height: 100px;
        overflow: hidden;
        flex: 1 1 auto;
    }
}
@media only screen and (max-width: 570px) {
    .product-item__name-descr {
        font-size: 13px;
        line-height: 1.3;
    }
}

.product-item__counter {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*width: calc(var(--font) * 140);*/
}

@media only screen and (max-width: 767.98px) {
    .product-item__counter {
        display: flex;
        justify-content: space-between;
        width: calc(var(--font) * 85);
    }
}

.product-item__price-footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}
@media only screen and (max-width: 767.98px) {
    .product-item__price-footer {
        margin: 10px 0 0;
    }
}

.product-item__coin-footer {
    display: flex;
    align-items: center;
    gap: 3px;
    /*font-size: 20px;*/
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
    line-height: 1;
    color: var(--green);
}
.product-item__coin-footer img {
    width: 28px;
    height: 28px;
}

.product-item__price_all {
    text-align: left;
}

.product-item__price {
    /*font-size: calc(var(--font) * 28);*/
    font-size: 1.4rem;
    font-weight: 600;
    color: #333;
    line-height: 1.1;
}

@media only screen and (max-width: 767.98px) {
    .product-item__price {
        /*font-size: calc(var(--font) * 18);*/
    }
}

.product-item__price_old {
    text-decoration: line-through;
    color: var(--base-color);
    font-weight: 500;
    line-height: 1.2;
}

.product-item__weight {
    /*font-size: calc(var(--font) * 20);*/
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1;
    color: #a0a0a0;
}
@media only screen and (max-width: 767.98px) {
    .product-item__weight {
        /*font-size: calc(var(--font) * 14);*/
    }
}



.product-item__counter-btn {
    font-size: calc(var(--font) * 26);
    font-weight: bold;
    color: var(--base-color);
    border: 2px solid var(--base-color);
    background-color: #fff;
    border-radius: 4px;
    cursor: pointer; 
    width: calc(var(--font) * 50);
    height: calc(var(--font) * 50);
    line-height: 0.9;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
    text-align: center;   
    
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}
@media only screen and (max-width: 767.98px) {
    .product-item__counter-btn {
        font-size: calc(var(--font) * 20);
        width: calc(var(--font) * 30);
        height: calc(var(--font) * 30);
        line-height: 1.0;
    }
}
@media only screen and (max-width: 360px) {
    .product-item__counter-btn {
        font-size: 18px;
        width: 25px;
        height: 25px;
        line-height: 18px;
    }
}

.product-item__counter_light .product-item__counter-btn {
    color: #a0a0a0;
    border: 2px solid #a0a0a0;
}
    
.product-item__counter-input {
    width: calc(var(--font) * 45);
    height: calc(var(--font) * 50);
    line-height: 1;
    text-align: center;
    color: #000;
    /*font-size: calc(var(--font) * 26);*/
    font-size: 1.5rem;
    font-weight: bold;
    border: 0;
    margin: 0;
    padding: 0;
}
@media only screen and (max-width: 767.98px) {
    .product-item__counter-input {
        width: 25px;
        height: 30px;
        line-height: 30px;
        font-size: 18px;
    }
}
@media only screen and (max-width: 767.98px) {
    .product-item__counter-input {
        width: 20px;
        /*font-size: 16px;*/
    }
}
.product-item__counter_light .product-item__counter-input {
    font-weight: normal;
}



/*
#popupcart {
    position: absolute;
    z-index: 1050;
    top: 10px;
    right: 0px;
    width: 454px;
    min-height: 1px;
    margin: 0;
    margin-left: 0;
    padding: 35px 34px 40px;
    background-color: #fff;
    max-height: 567px;
    line-height: 1;

    -webkit-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
    box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
    text-align: left;
}

#popupcart .cart-list {
    overflow: auto;
    border-bottom: 2px solid #a0a0a0;
    width: 100%;
    max-height: 414px;
}


#popupcart .cart-list-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    margin-bottom: 32px;
}
#popupcart .cart-list-item__delete-btn {
    width: 35px;
}
#popupcart .cart-list-item__delete-btn img {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

#popupcart .cart-list-item__info-footer {
    width: calc(100% - 35px);
}

#popupcart .cart-list-item__name {
    font-size: 20px;
    font-weight: bold;
}
#popupcart .cart-list-item__params {
    font-size: 14px;
    font-weight: 400;
}

#popupcart .cart-list-item__price-footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 5px;
}
#popupcart .cart-list-item__price {
    font-size: 24px;
    font-weight: normal;
    min-width: 65px;
    text-align: right;
}
#popupcart .cart-list-item__sum {
    font-size: 24px;
    font-weight: bold;
    min-width: 65px;
    text-align: right;
}

#popupcart .cart-bottom-footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
}
#popupcart .cart-bottom-footer__total {
    font-size: 35px;
    font-weight: bold;
}
#popupcart .cart-bottom-footer__btn {
    font-size: 23px;
    width: 158px;
    height: 46px
}
*/

/********************** online tracker ********************/
.ot {
    display: none;
    position: sticky;
    padding: 10px;
    bottom: 0;
    background-color: transparent;
    background-image: url(../images/ot/ot-bg.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    /*height: 180px;*/
    min-height: 180px;
    width: 100%;
    text-align: center;
    color: #212121;
    font-size: 16px;
    /*display: none;*/
    z-index: 20;
}
.orders-section .ot {
    display: block;
    background-image: none;
    min-height: 130px;
    
}
@media only screen and (max-width: 767.98px) {
    .ot {
        display: block;
    }
    .ot.orders {
        display: none;
    } 
}
.ot.ot-short {
    min-height: 80px;
}
.ot-btn {
    margin-top: 12px;
    width: 21px;
    height: 11px;
    background-position: top;
    background-repeat: no-repeat;
    margin-left: auto;
    margin-right: auto;
    background-image: url(../images/ot/ot-btn-down.png);
}
.orders-section .ot-btn {
    display: none;
}
.ot-short .ot-btn {
    background-image: url(../images/ot/ot-btn-up.png);
}

.ot-more {
    margin-top: 30px;
    color: #555;
}
.ot-more a {
    color: #555;
    text-decoration: none;
}
.ot-short .ot-more {
    display: none;
}
.ot-more i {
    color: #aaa;
}

.ot-icons {
    margin-top: 10px;
    display: flex;
    justify-content: center;
}
.orders-section .ot-icons {
    margin-top: 5px;
}
.ot-icons img {
    width: 20%;
    height: auto;
}
@media only screen and (max-width: 767.98px) {
    .orders-section .ot-icons img {
        width: 25%;
    }
}
.ot-short .ot-icons {
    display: none;
}
.ot-status {
    margin-top: 5px;
    text-align: center;
    font-weight: 500;
    /*font-size: 18px;*/
    font-size: 1.1rem;
}

.ot-short .ot-status {
    margin-top: 15px;
}
@media only screen and (max-width: 767.98px) {
    .orders-section .order-desc_item ol li{
        font-size: 18px;
    }
}

.orders-section {
    font-size: 20px;
    padding-bottom: 40px;
    width: 40%;
    margin-left: 30%;
}
@media only screen and (max-width: 767.98px) {
    .orders-section {
        font-size: 18px;
        width: 100%;
        margin-left: 0;
    }
}

.orders-section__bold {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}
@media only screen and (max-width: 767.98px) {
    .orders-section__bold {
        font-size: 18px;
    }
}
.orders-section .order-review {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid #a0a0a0;
}
.orders-section .order-review textarea.comment-for-review {
    height: auto;
    line-height: 1.2;
}

.invalid-feedback {
    color: var(--base-color);
    font-size: 18px;
    line-height: 1.2;
    font-weight: normal;
}

.robota .row {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 15px;
    clear: none;
}
@media only screen and (max-width: 946px) {
    .single-post-section.robota .post-container {
        padding: 0;
    }
}

.robota .city-list {
    justify-content: start;
    flex-wrap: wrap;
    gap: 0;
}
.robota .city-item {
    margin-bottom: 15px;
}
.robota {
    font-size: 18px;
    line-height: 1.3;
}
.robota h3 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 7px;
}
.robota .vacancies-item {
    margin-bottom: 10px;
}
.robota .vacancies-item a {
    font-size: 18px;
    font-weight: 400;
    color: black;
    text-decoration: none;
    border-bottom: 1px solid black;
}
.robota .vacancies-item a:hover {
    color: #E40046;
    border-bottom: 1px solid #E40046;
}

.robota .col {
    padding-left: 15px;
    padding-right: 15px;
}

@media (max-width: 599px) {
    .robota #is_policy + label {
        font-size: 16px;
    }
}

.pre-order {
    text-align: left;
    font-weight: 500;
    font-size: 16px;
    color: var(--color);
}
/*
.pre-order i {
    color: var(--color);
}
*/
@media (min-width: 768px) {
    .pre-order {
        font-size: 20px;
        margin-bottom: 15px;
    }
}

