
:root{
    --color-main: #00d8cc;
    --color-main-small: #00ebe0;
    --color-main-light: #80fff8;
    --color-main-fade: #d7fffc;
    --color-dark: #1a274d;

    --color-grey: #e5e8f0;
    --color-grey-light: #f5f7fb;  
    --color-grey-dark: #979eb1;

    --color-page-bg: #f0f1f6;

    --bs-body-font-family: "Roboto", sans-serif;
    --bs-body-line-height: 1.2em;

    --font-header-family: "Montserrat", sans-serif;

    --form-lg-width: 800px;

    --transition: all 0.3s ease;

    --bs-body-color: var(--color-dark);
    --bs-body-bg: var(--color-page-bg);
}

html{
    font-size: 12px;
}
body *{
    scroll-margin-top: 5rem;
}

.bg-main-gradient{
    background: linear-gradient(to bottom, var(--color-main-light), #fff);
}
.bg-main-gradient-revers{
    background: linear-gradient(to bottom, #fff, var(--color-main-light));
}

a{
    text-decoration: none;
    color: inherit;
}
a.link{
    border-bottom: 1px dashed currentColor;
}
a.link:hover{
    color: var(--color-main);
}
h1, h2{
    font-family: var(--font-header-family);
    font-weight: 800;
}

h3, h4{
    font-size: 1.2rem;
    font-weight: 700;
}

img{
    width: 100%;
    height: auto;
}
.border-radius-16{
    border-radius: 1.6rem;
    overflow: hidden;
}


.bg-gray-light{
    background-color: var(--color-grey-light);
}

.section-title .h2{
    font-size: 2rem;
    color: var(--color-dark);
    padding: 0 0 2rem 0.6rem;
}
.section-title .h2 .ration-title{
    color: var(--color-main);
    /* запрещаем перенос слов */
    white-space: nowrap;
}


/* buttons */
.btn{
    --bs-btn-padding-x: 1.5em;
    --bs-btn-padding-y: 1em;
    --bs-btn-border-radius: 1em;
    --bs-btn-font-size: 1.2rem;
    --bs-btn-font-weight: 500;
    --bs-btn-line-height: 1.5;
}
.btn-sm{
    --bs-btn-font-size: 0.85rem;
    --bs-btn-padding-x: 1.2em;
    --bs-btn-padding-y: 0.7em;
    --bs-btn-border-radius: 0.7em;
}
.btn-primary{
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--color-dark);
    --bs-btn-border-color: var(--color-dark);

    --bs-btn-active-color: var(--color-dark);
    --bs-btn-active-bg: var(--color-main);
    --bs-btn-active-border-color: var(--color-main);

    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-main);
    --bs-btn-hover-border-color: var(--color-main);

    --bs-btn-disabled-bg: var(--color-grey-dark);
    --bs-btn-disabled-border-color: var(--color-grey-dark);
}
.btn-secondary{
    --bs-btn-color: var(--color-dark);
    --bs-btn-bg: #fff;
    --bs-btn-border-color: var(--color-dark);

    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--color-main);
    --bs-btn-hover-border-color: var(--color-main);
}
.btn-link{
    text-decoration: none;
    color: var(--color-dark);
    background-color: transparent;
    border: 1px var(--color-grey) solid;
    font-size: 1rem;
    padding: 0.6em 1.2em;
    border-radius: 0.6rem;
}
.btn-link:hover{
    background-color: var(--color-grey);
    color: var(--color-dark);
}


/* toper */
.topper{
    margin-top: 1rem;
}
.topper-link{
    display: block;
    border-radius: 1.2rem;
    overflow: hidden;
}
.topper-link img{
    width: 100%;
    height: auto;
}

/* header */
.header{
    background-color: #fff;
    color: var(--color-dark);
    position: sticky;
    top: 0;
    z-index: 100;
    transition: var(--transition);
}
.header.sticky{
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.15);
}
.header-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 62px;
}
.header .logo-link{
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0 0.6rem;
    color: var(--color-dark);
    transition: var(--transition);
}
.header .logo-link:hover{
    color: var(--color-main);
}
.header .logo svg{
    fill: currentColor;
}
.header .social{
    display: flex;
    gap: 0.6rem;
}
.header .social a{
    color: var(--color-dark);
    transition: var(--transition);
}
.header .social a:hover{
    color: var(--color-main);
}
.header .social a svg{
    fill: currentColor;
    width: 24px;
    height: 24px;
}
.header .phone a{
    font-size: 1.1rem;
    color: var(--color-dark);
    font-weight: 700;
    transition: var(--transition);
}
.header .phone a:hover{
    color: var(--color-main);
}
.header .header-action{
    display: flex;
    align-items: center;
    gap: 0.8rem;
}
.header .header-action a:not(.btn){
    color: var(--color-dark);
    transition: var(--transition);
}
.header .header-action a:not(.btn):hover{
    color: var(--color-main);
}

/* account panel */
header .header-action{
    position: relative;
}
header .account-panel{
    display: none;
    flex-direction: column;
    gap: 0.6rem;

    position: absolute;
    right: 0;
    top: calc(100% + 1rem);
    width: 240px;

    background-color: #fff;
    border-radius: 1.6rem;
    padding: 2rem;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
}
header .account-panel .customer-name{
    font-size: 1.2rem;
    font-weight: 700;
}
header .account-panel .customer-phone{
    font-size: 0.9rem;
    color: var(--color-grey-dark);  
    margin-top: 0.4rem;
}
header .account-panel .account-panel-header{
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-grey);
    margin-bottom: 1rem;
}
header .account-panel ul{
    list-style: none;
    padding: 0;
    margin: 0;
}
header .account-panel ul li{
    padding: 0.4rem 0;
}
header .account-panel ul li a{
    color: var(--color-dark);
    transition: var(--transition);
}
header .account-panel ul li a:hover{
    color: var(--color-main);
}



.shopcart{
    position: relative;
    transform: translateY(-3px);
}
.shopcart svg{
    fill: currentColor;
}
.shopcart .cart-item-count{
    position: absolute;
    left: 50%;
    top: 10px;
    transform: translateX(-50%);
    font-size: 1rem;
    font-weight: 700;
}
/* --- side-menu   --- */
.side-menu-backdrop{
    background-color: var(--color-dark);
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1069;
    opacity: 0;
    visibility: hidden;
    transition: all .4s ease;
}
.side-menu-backdrop.show{
    opacity: .5;
    visibility: visible;
}
#side-menu.open {
    right: 0;
}
#side-menu {
    position: fixed;
    width: 400px;
    max-width: 100%;
    height: 100dvh;
    color: var(--color-dark);
    background: #fff;
    z-index: 1070;
    top: 0;
    right: -420px;
    box-shadow: 0 0 20px rgb(from var(--color-dark) r g b / 0.5);
    padding: 3rem;
    display: flex;
    flex-direction: column;

    transition: right 0.4s ease-out;
}
.side-menu-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.side-menu-header .logo-link {
    color: var(--color-main);
    display: flex;
    gap: 1rem;
}
.side-menu-header .logo-link svg{
    fill: currentColor;
    width: auto;
}
.side-menu-header .logo-link svg.logo-pp{
    height: 26px;
}
.side-menu-header .logo-link svg.logo-proportsiya{
    height: 32px;
}
#side-menu nav{
    padding: 2rem 0 0;
    overflow-y: auto;
}
#side-menu nav ul{
    list-style: none;
    padding: 0;
    font-size: 1.4rem;
    line-height: 1.4em;
}
#side-menu nav ul li a{
    color: var(--color-dark);
    transition: var(--transition);
}
#side-menu nav ul li a:hover{
    color: var(--color-main);
}
#side-menu hr{
    border-top: 1px solid #000;
    margin: 1rem 0;
}
.side-menu-footer{
    margin-top: auto;
    padding-top: 1rem;
}
.side-menu-footer .social{
    color: var(--color-dark);
}
.side-menu-footer .social a{
    color: var(--color-dark);
}
.side-menu-footer .social a:hover{
    color: var(--color-main);
}
.side-menu-footer .social svg{
    fill: currentColor;
    width: 28px;
    height: 28px;
}
.side-menu-footer .phone{
    font-size: 1.4rem;
    font-weight: 900;
    margin-top: 1rem;
}
.side-menu-footer .phone a:hover{
    color: var(--color-main);
}
.side-menu-footer .phone .note{
    font-size: 0.85rem;
    font-weight: 400;
}
.side-menu-footer .btn{
    font-size: 1.1rem;
}

.btn-mobile-menu-close{
    margin: 0 0.6rem;
}
.btn-mobile-menu-close:hover{
    color: var(--color-main);
}

/* slider */
.home-slider {
    padding: 1rem 0 1rem;
    border-radius: 1.2rem;
}
.home-slider .swiper-slide img{
    width: 100%;
    height: auto;
    border-radius: 1.4rem;
    overflow: hidden;
    object-fit: cover;
}
.home-slider .swiper-pagination{
    position: static;
    height: 2rem;
    padding-top: 1rem;
}

/* calculator */
.calculator{
    padding: 2rem 0 0;
}
.calculator .calculator-content{
    display: flex;
    gap: 1rem;
}
.calculator .btn{
    flex-shrink: 0;
    padding: 0.8rem 1rem;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.calculator .btn svg{
    fill: var(--color-main-light);
    width: auto;
    height: 34px;
    transition: fill 0.15s ease;
}
.calculator .btn .line{
    display: inline-block;
    width: 1px;
    height: 48px;
    background-color: var(--color-main);
}
.calculator .btn:hover svg{
    fill: var(--color-dark);
}
.calculator .btn:hover .line{
    background-color: var(--color-dark);
}


/* ration-selection */
.ration-selection{
    padding: 1.5rem 0 2.7rem;
}
.ration-selection .nav-tabs{
    display: flex;
    gap: 0.6rem;
    border: none;
}
.ration-selection .nav-tabs .nav-item{
    flex: 1 0;
}
.ration-selection .nav-tabs .nav-item a{
    width: 100%;
    text-align: center;
    font-size: 1.05rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4.2rem;
    padding: 0;
    border-radius: 1.6rem;
    background-color: var(--color-grey);
    color: var(--color-dark);
}
.ration-selection .nav-tabs .nav-item a:hover{
    background-color: var(--color-grey-light);
    color: var(--color-dark);
}
.ration-selection .nav-tabs .nav-item a.active{
    background-color: var(--color-main-small);
    border-color: var(--color-main-small);
    color: var(--color-dark);
}

.ration-list{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 0.7rem;
    padding: 0.6rem 0;
}
.ration-list .ration-card{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem;
    border-radius: 1.2rem;
    background-color: #fff;
    color: var(--color-dark);
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15);
    transition: var(--transition);
}
.ration-list .ration-card .ration-icon{
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 1rem;
    background-color: #f4f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.ration-list .ration-card .ration-icon svg{
    fill: currentColor;
    width: 40px;
    height: 40px;
}
.ration-list .ration-card .slogan{
    flex-shrink: 0;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
}
.ration-list .ration-card .name{
    font-weight: 200;
    text-transform: uppercase;
    writing-mode: sideways-lr;
    opacity: 0.7;
    margin-left: auto;
    margin-right: 0.5rem;
}
.ration-list .ration-card .calorie{
    width: 50px;
    height: 50px;
    border-radius: 1rem;
    background-color: var(--color-grey-light);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
}
.ration-list .ration-card:hover{
    background-color: var(--color-main-fade);
}
.ration-list .ration-card.selected{
    background-color: var(--color-main-small);
}
.ration-list .ration-card.selected .ration-icon{
    background-color: var(--color-main-light);
}
.ration-list .ration-card.selected .calorie{
    background-color: var(--color-main-light);
}


.ration-list .ration-card .calorie span.value{
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--color-dark);
}
.ration-list .ration-card .price{
    font-size: 1.1rem;
    margin-right: 0.5rem;
    width: min-content;
    text-align: center;
    min-width: 64px;
}

/* menu */
.menu{
    padding: 2rem 0 3.65rem;
    /* градиент вниз */
    background: linear-gradient(to bottom, var(--color-main-fade) 0%, var(--color-main-fade) 70%, #fff 100%);
}
.menu .ration-info{
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}
.menu .ration-info .ration-card{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.3rem;
    background-color: var(--color-main-small);
    padding: 0.3rem 1rem 0.3rem 0.3rem;
    border-radius: 1.2rem;
}
.menu .ration-info .ration-card .ration-icon{
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 1rem;
    background-color: var(--color-main-light);
    display: flex;
    align-items: center;
    justify-content: center;
}
.menu .ration-info .ration-card .ration-icon svg{
    fill: currentColor;
    width: 40px;
    height: 40px;
}
.menu .ration-info .ration-card .name{
    flex-shrink: 0;
    font-size: 1.1rem;
    font-weight: 700;
    text-transform: uppercase;
}
.menu .ration-info .ration-description{
    flex: 1 1;
}

.menu .ration-data{
    display: flex;
    padding: 1.2rem 0;
    flex: 1 0 100%;
}
.menu .ration-data .calorie{
    flex: 0 0 50%;
    text-align: right;
    padding-right: 1rem;
    border-right: 1px solid #777;
}
.menu .ration-data .intake-count{
    padding-left: 1rem;
}

.menu .week-list{
    display: flex;
    gap: 0.6rem;
}
.menu .week-list .week{
    flex-grow: 1;
    padding: 0.8rem;
    border: 1px solid #aaa;
    border-radius: 1rem;
    text-align: center;
    background-color: #fff;
    cursor: pointer;
    transition: var(--transition);
}
.menu .week-list .week strong{
    display: block;
}
.menu .week-list .week:hover{
    background-color: var(--color-grey);
}
.menu .week-list .week.selected{
    background-color: var(--color-main-small);
    border-color: var(--color-main);
}

.menu .day-list{
    margin-top: 0.6rem;
    padding: 0.6rem;
    display: flex;
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 1rem;
}
.menu .day-list .day{
    flex-grow: 1;
    text-align: center;
    padding: 0.6rem;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
}
.menu .day-list .day:hover{
    background-color: var(--color-grey);
}
.menu .day-list .day.selected{
    background-color: var(--color-main-small);
    border-color: var(--color-main);
}

.menu .menu-summary{
    display: flex;
    margin-top: 0.6rem;
    padding: 0.6rem 0;
}
.menu .menu-summary div{
    flex: 1 1;
    text-align: center;
    padding: 0.6rem;
    border-radius: 1rem;
    position: relative;
}
.menu .menu-summary div:nth-child(2):after,
.menu .menu-summary div:nth-child(3):after{
    content: '';
    position: absolute;
    right: 0;
    top: 0.6rem;
    display: block;
    width: 1px;
    height: 2.3rem;
    background-color: #777;
}
/*
.menu .menu-summary div:last-child{
    flex-grow: 0;
    padding-right: 0;
}
*/
.menu .menu-summary .calorie{
    background-color: var(--color-main-small);
    border: 1px solid var(--color-main);
}
.menu .menu-summary div strong{
    display: block;
    font-size: 1.1rem;
    font-weight: 900;
}

.menu .dish-list{
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.2rem;
    padding: 1rem 0 0;
}
.menu .dish-list .dish-card{
    --body-padding: 0.8rem;
    --card-padding: 0.4rem;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    padding: var(--card-padding);
    border-radius: 1rem;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.15);
}
.menu .dish-list .dish-card .image{
    display: flex;
    justify-content: center;
    /* padding: var(--body-padding) 0 0; */
    border-radius: 1.4rem;
    overflow: hidden;
}
.menu .dish-list .dish-card .image img{
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 540/360;
}
.menu .dish-list .dish-card .body-mobile{
    padding: 0 var(--body-padding) 3rem;
    flex-grow: 1;
    position: relative;
}
.menu .dish-list .dish-card .body-mobile .intake{
    margin-top: 1rem;
    font-size: 0.9rem;
    padding: 0 0.8em 0.2em;
    width: min-content;
    color: #fff;
    border-radius: 100px;
    background-color: #777;
}
.menu .dish-list .dish-card[data-intake_id="1"] .body-mobile .intake{ /* завтрак */
    background-color: #90d5d6;
}
.menu .dish-list .dish-card[data-intake_id="2"] .body-mobile .intake{ /* перекус */
    background-color: #bda8d8;
}
.menu .dish-list .dish-card[data-intake_id="3"] .body-mobile .intake{ /* обед */
    background-color: #e5a8b1;
}
.menu .dish-list .dish-card[data-intake_id="4"] .body-mobile .intake{ /* полдник */
    background-color: #d9cfa6;
}
.menu .dish-list .dish-card[data-intake_id="5"] .body-mobile .intake{ /* ужин */
    background-color: #8fd6b1;
}
.menu .dish-list .dish-card .body-mobile .name{
    margin-top: 1rem;
    color: var(--color-dark);
    font-size: 1.1rem;
    font-weight: 700;
}
.menu .dish-list .dish-card .body-mobile .calorie{
    position: absolute;
    left: var(--body-padding);
    bottom: var(--card-padding);
}
.menu .dish-list .dish-card .body-mobile .calorie:before{
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-image: url('../assets/img/zipper.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 5px;
    background-color: var(--color-main-small);
    margin-right: 0.4rem;
    margin-bottom: -1px;
}
.menu .dish-list .dish-card .body-mobile .weight{
    position: absolute;
    right: var(--body-padding);
    bottom: var(--card-padding);
}

    .menu .dish-list .dish-card .body{
        padding: var(--body-padding);
        display: none;
    }
    .menu .dish-list .dish-card .body .top{
        margin-top: 0.5em;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .menu .dish-list .dish-card .body .intake{
        font-size: 0.7em;
        padding: 0.2em 1em 0.3em;
        color: #fff;
        border-radius: 100px;
        background-color: #777;
    }
    .menu .dish-list .dish-card[data-intake_id="1"] .body .intake{ /* завтрак */
        background-color: #90d5d6;
    }
    .menu .dish-list .dish-card[data-intake_id="2"] .body .intake{ /* перекус */
        background-color: #bda8d8;
    }
    .menu .dish-list .dish-card[data-intake_id="3"] .body .intake{ /* обед */
        background-color: #e5a8b1;
    }
    .menu .dish-list .dish-card[data-intake_id="4"] .body .intake{ /* полдник */
        background-color: #d9cfa6;
    }
    .menu .dish-list .dish-card[data-intake_id="5"] .body .intake{ /* ужин */
        background-color: #8fd6b1;
    }
    .menu .dish-list .dish-card .body .serve,
    .menu .dish-list .dish-card .body .weight{
        font-size: 0.7em;
    }
    .menu .dish-list .dish-card .body .name{
        margin-top: 0.6em;
        font-weight: 600;
        line-height: 1.1em;
    }
    .menu .dish-list .dish-card .body .composition{
        margin: 1em 0;
        font-size: 0.9em;
        line-height: 1.1em;
    }
    .menu .dish-list .dish-card .dish-footer{
        font-size: 0.8em;
        margin-top: auto;
        display: none;
        align-items: center;
        justify-content: space-between;
        padding: 0 var(--card-padding);
    }
    .menu .dish-list .dish-card .dish-footer *{
        text-align: center;
        line-height: 1em;
    }
    .menu .dish-list .dish-card .dish-footer strong{
        display: block;
    }
    .menu .dish-list .dish-card .dish-footer .calorie{
        padding: 0.4em 0.8em;
        background-color: var(--color-main-small);
        border-radius: 0.6em;
    }



.menu .dish-list .zoomed-area{
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgb(from var(--color-dark) r g b / 0.5);
    z-index: 100;

    display: flex;
    align-items: center;
    justify-content: center;
}
.menu .dish-list .zoomed-area .dish-card {
    --body-padding: 0.8rem;
    --card-padding: 0.8rem;
    font-size: 18px;
    width: 300px;
    background-color: #fff;
    border-radius: 2rem;
    animation: fadeIn 0.3s ease-in-out forwards;
}
.menu .dish-list .zoomed-area .dish-card .body{
    display: block;
}
.menu .dish-list .zoomed-area .dish-card .dish-footer{
    display: flex;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.8) }
  to { opacity: 1; transform: scale(1) }
}


/* DATEPICKER */
.datepicker .air-datepicker.-inline-{
    width: auto;
    border-radius: 1.4rem;
    padding: 1rem;
    border: 1px solid #aaa;
}
.datepicker .air-datepicker-body--cells.-days- {
    row-gap: 8px;
    justify-items: center;
}
.datepicker .air-datepicker-cell.-day-{
    width: 34px;
    height: 34px;
    border-radius: 100px;
}
.datepicker .air-datepicker-cell.-selected-,
.datepicker .air-datepicker-cell.-selected-.-focus- {   
    color: var(--color-dark);
    background: var(--color-main-small);
}
.datepicker .air-datepicker-nav--title,
.datepicker .air-datepicker-nav--title i{
    color: var(--color-dark) !important;
    font-size: 1.4rem;
    font-weight: 600;
}
.datepicker .air-datepicker-body--day-name{
    color: var(--color-dark) !important;
    font-size: 1.2rem;
    font-weight: 600;
}
.datepicker .air-datepicker-body--day-names {
    margin: 8px 0;
}


/* --------------- */
.order-area{
    padding-top: 2rem;
}
.order-area .calendar-info,
.order-area .amount-info{
    padding: 1.7rem 2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 1.2rem;
    color: var(--color-dark);
}
.order-area .calendar-info .label,
.order-area .amount-info .label{
    flex-grow: 1;
}
.order-area .calendar-info .value,
.order-area .amount-info .value{
    flex-grow: 1;
    font-size: 1.25rem;
    font-weight: 900;
    text-align: right;
}

.order-area .tarif-info{
    display: flex;
    background-color: #fff;

    padding: 1.3rem 2rem;
    border: 1px solid #aaa;
    border-radius: 1.4rem;

    font-size: 1.2rem;
    color: var(--color-dark);
}
.order-area .tarif-info .label{
    flex-grow: 1;
}
.order-area .tarif-info .capacity{
    flex-grow: 1;
    font-size: 1.25rem;
    line-height: 1.2em;
    text-align: right;
    padding-right: 2rem;
}
.order-area .tarif-info .price{
    flex-grow: 1;
    font-size: 1.25rem;
    font-weight: 900;
    text-align: right;
    line-height: 1.2em;
}
.order-area .action .btn{
    font-size: 1.2rem;
    font-weight: 500;
}

/* double */

.double{
    background-color: var(--color-main);
    padding: 4rem 0;
}
.double .wrapper{
    position: relative;
}
.double .image{
    border-radius: 2rem;
    overflow: hidden;
}
.double .image img{
    width: 100%;
    height: auto;
}
.overlay{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.double .overlay{
    display: flex;
    align-items: end;
}
.double-content{
    padding: 1.3rem;
    color: #fff;
}
.double-content .c{
    flex: 1 0;
}
.double-content .c p,
.double-content .h2{
    padding: 0 !important;
    /* перенос по слогам */
    word-break: break-word;
    hyphens: auto;
}

.double-content .h2 {
    font-size: 2.3rem;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--color-main-small);
    margin-bottom: 1.6rem;
}
.double-content .profit{
    color: var(--color-main-small);
}
.double-content .profit{
    margin-top: 1.6rem;
    color: var(--color-main-small);
}
.double-content .profit strong{
    font-size: 1.2rem;
}

#modal-double .ration-item{
    display: flex;
    margin-top: 0.6rem;
}
#modal-double .info-area{
    padding: 1rem;
}
#modal-double .info-area table td{
    border: none;
    font-size: 1.2rem;
    color: var(--color-dark);
    padding: 0.2em 0;
    font-weight: 300;
}
#modal-double .info-area table td .value{
    font-weight: 600;
}
#modal-double .ration-item .ration-slogan{
    width: 50%;
    font-size: 1rem;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--color-dark);
}
#modal-double .ration-item .ration-name{
    font-size: 0.9rem;
    text-transform: uppercase;
    font-weight: 200;
    color: var(--color-dark);
}
#modal-double .ration-item .ration-counter{
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
#modal-double .ration-item .ration-counter .minus,
#modal-double .ration-item .ration-counter .plus{
    display: block;
    font-size: 1.2rem;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 0.4rem;
    background-color: var(--color-grey);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
#modal-double .ration-item .ration-counter .minus:hover,
#modal-double .ration-item .ration-counter .plus:hover{
    background-color: var(--color-main);
    color: #fff;
}
#modal-double .ration-item .ration-counter .value{
    width: 20px;
    text-align: center;
    color: var(--color-grey);
    font-weight: 600;
}
#modal-double .ration-item .ration-counter .value.enabled{
    color: var(--color-dark);
}


/* about */

.about{
    padding: 3rem 0;
    background: linear-gradient(to bottom, #fff 30%, var(--color-main-light) 100%)
}
.about .wrapper{
    position: relative;
}
.about .image{
    border-radius: 1.4rem;
    overflow: hidden;
}
.about .image img{
    width: 100%;
    height: auto;
}
.about-logo{
    display: flex;
    gap: 1.4rem;
    position: absolute;
    top: 12%;
    left: 50%;
    transform: translateX(-50%);
    color: var(--color-main);
}
.about-logo svg{
    fill: currentColor;
    height: 30px;
    width: auto;
}
.about-content{
    position: absolute;
    width: 240px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 12%;
    color: var(--color-dark);
    font-size: 1.1rem;
}
.about-links{
    padding: 2.6rem 0.4rem;
    display: flex;
    gap: 0.6rem;
    flex-wrap: wrap;
}
.about-links a{
    font-size: 1rem;  
    font-weight: 400;
    padding: 1.5rem 1rem;
    border: 1.5px solid #aaa;
    border-radius: 1.2rem;
}

.home-video{
    position: relative;
}
.home-video .video{
    border-radius: 1.4rem;
    overflow: hidden;
}
.home-video .video img{
    width: 100%;
    height: auto;
}
.home-video .overlay{
    display: flex;
    align-items: center;
    justify-content: center;
}
.home-video .btn-video{
    width: 100px;
    height: 100px;
    color: #fff;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
}
.home-video .btn-video svg{
    width: 40px;
    height: auto;
}
.home-video .btn-video:hover{
    color: var(--color-main);
    background-color: #fff;
}

/* reviews */
.reviews{
    padding: 4rem 0 3rem;
    background-color: #f4f5f9;
}
.reviews .swiper-button-prev,
.reviews .swiper-button-next{
    display: none;
}
.reviews .swiper-pagination{
    position: relative;
    padding: 2rem 0 1rem;
}
.review-item{
    background-color: #e5e8f0;
    color: var(--color-dark);
    border-radius: 1rem;
    overflow: hidden;
}
.review-item .review-image{
    border-radius: 1.6rem;
    overflow: hidden;
}
.review-item .review-text {
    font-size: 0.75rem;
    padding: 1rem;
    line-height: 1.2em;
    aspect-ratio: 728/1200;
}
.review-item[data-video] .review-image{
    cursor: pointer;
}

.review-item img{
    width: 100%;
    height: auto;
}
.review-item .review-info{
    padding: 1rem 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
.review-item .review-row{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.review-item .author{
    font-size: 1rem;
    font-weight: 700;
}
.review-item .dots{
    font-size: 2rem;
    font-weight: 700;
    margin-top: -5px;
}
.stars{
    display: flex;
    gap: 3px;
}
.stars .star{
    width: 10px;
    height: 10px;
    background: url('../assets/img/star.svg') no-repeat center;
    background-size: 10px;
}
.reviews .action{
    text-align: center;
}

/* media */
.media{
    padding: 3rem 0;
    /* DELETE */
    position: relative;
    background: #fff;
}
.media .media-image{
    margin-bottom: 0.6rem;
    border-radius: 1.2rem;
    overflow: hidden;
}
.media .media-image img{
    width: 100%;
    height: auto;
}
.media .media-links{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
}
.media .media-links .brand{
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 360 / 150;
    border-radius: 1rem;
    background-color: #e5e8f0;
    transition: var(--transition);
}
.media .media-links .brand img{
    width: 120px;
    height: 20px;
    object-fit: contain;
    transition: var(--transition);
}
.media .media-links .brand:hover{
    background-color: var(--color-main);
}
.media .media-links .brand:hover img{
    filter: contrast(5) invert(1);
}

/* faq */
.faq-content{
    background-color: #e5e8f0;
    padding: 2rem 1.2rem;
    border-radius: 2rem;
}
.faq .nav-tabs{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.6rem;
    margin-bottom: 1.2rem;
}
.faq .nav-item a{
    display: block;
    width: 100%;
    padding: 1.4rem 0;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
    background-color: var(--color-dark);
    color: #fff;
    border-radius: 1rem;
    transition: var(--transition);
}
.faq .nav-item a:hover,
.faq .nav-item a.active{
    background-color: var(--color-main);
    color: var(--color-dark);
}

.faq .accordion{
    display: flex;
    flex-direction: column;
    gap: 0.6rem;

    --bs-accordion-active-color: var(--color-dark);
    --bs-accordion-active-bg: #fff;
}
.faq .accordion .accordion-item{
    border-radius: 1.2rem !important;
    overflow: hidden;
    background-color: #fff;
}
.faq .accordion-button{
    color: var(--color-dark);
    padding: 1.6rem 1.2rem;
    font-size: 1.1rem;
    font-weight: 400px;

    box-shadow: none !important;
}
.faq .accordion-body{
    font-size: 1.1rem;
    color: var(--color-dark);
    padding: 0.6rem 1.2rem 1.6rem 2.4rem;
}



/* footer */
.footer{
    padding: 3rem 0;
    background-color: var(--color-dark);
    color: #fff;
    font-weight: 200;
}
.footer .logo-link{
    display: flex;
    align-items: center;
    color: #fff;
    transition: var(--transition);
}
.footer .logo svg{
    fill: currentColor;
    height: 20px;
}
.footer .logo-link:hover{
    color: var(--color-main);
}
.footer .footer-content{
    margin-top: 2rem;
}
.footer h3{
    font-family: "Roboto", sans-serif;
    font-size: 1.2rem;
    margin-top: 1rem;
    margin-bottom: 0.6rem;
    font-weight: 600;
    color: var(--color-main);
}
.footer .footer-contacts{
    gap: 1rem;
    align-items: center;
}
.footer .phone a,
.footer .email a{
    color: #fff;
    font-size: 1.2rem;
    font-weight: 500;
    transition: all 0.3s ease;
}
.footer .social{
    color: #fff;
    display: flex;
    gap: 0.6rem;
}
.footer .social svg{
    fill: currentColor;
    height: 24px;
    width: auto;
}
.footer .social a{
    color: #fff;
    transition: var(--transition);
}
.footer .social a:hover{
    color: var(--color-main);
}
.footer .info{
    color: #fff;
    transition: var(--transition);
}
.footer .info a{
    display: block;
    padding: 0.5rem 0;
}
.footer a:hover{
    color: var(--color-main);
}
.footer .payments{
    padding: 2rem 0;
}
.footer .payments img{
    width: 100%;
    height: auto;
    filter: invert(50%) brightness(200%);
    opacity: 0.6;
    transition: all 0.3s ease;
}
.footer .payments:hover img{
    filter: none;
}
.footer-down{
    opacity: 0.5;
    transition: var(--transition);
}
.footer-down:hover{
    opacity: 1;
}

/* modal */
.modal.fade .modal-dialog {
  transform: scale(0.7); /* Увеличение из центра */
  transition: all 0.2s ease;
}
.modal.fade.show .modal-dialog {
  transform: scale(1);
}
body.modal-open{
    overflow: hidden;
}
.modal{
    --bs-modal-border-radius: 1.6rem;
    --bs-modal-header-border-color: transparent;
}
.modal-header{
    align-items: start;
}
.modal .modal-body .btn-primary,
.modal .modal-body .btn-secondary{
    font-size: 1rem;
    width: 100%;
    display: block;
    max-width: 300px;
    margin: 3rem auto 0;
}
h3.modal-title{
    font-family: var(--font-header-family);
    font-size: 2rem;
}
.modal .note{
    font-size: 0.85rem;
}

#modal-message-box{
    --bs-modal-width: 450px;
    --bs-modal-zindex: 1060;
    background-color: rgb(from var(--color-dark) r g b / 0.5);
}
#modal-message-box .modal-content{
    padding: 1rem;
}
#login-finish-modal form{
    max-width: 280px;
    margin: 0 auto;
}
#login-finish-modal #code{
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: 10px;
}

/* breadcrumbs */
.page{
    background-color: #fff;
    color: var(--color-dark);
}
.breadcrumbs-wrapper{
    margin-top: 2rem;
    padding: 0.4rem 0;
    background-color: var(--color-page-bg);
}
ul.breadcrumb{
    padding: 0;
    margin: 0 0 0 1rem;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
}
ul.breadcrumb li,
ul.breadcrumb li a{
    color: var(--color-dark);
    font-size: 0.85rem;
}
ul.breadcrumb li a:hover{
    color: var(--color-main);
}
ul.breadcrumb li:not(.active):after{
    content: "/";
    padding: 0 1rem;
    color: #aaa;
}

/* page-title */
.page-title{
    padding: 2rem 0 2rem 1rem;
    color: var(--color-dark);
    font-size: 2.4rem;
}


/* cart page */
.page.page-cart{
    background-color: var(--color-page-bg);
}
.page.page-cart .topper{
    display: none;
}
.page.page-cart .breadcrumbs-wrapper{
    background-color: #fff;
}
.cart-area{
    padding: 2rem 1rem;
    background-color: #fff;
    border-radius: 1.6rem;
}
.cart-area th{
    font-size: 1.2rem;
}
.cart-area .days{
    min-width: 60px;
}
.cart-area .btn-remove{
    color: #aaa;
    cursor: pointer;
    transition: var(--transition);
}
.cart-area .btn-remove:hover{
    color: var(--color-main);
}
.cart-area .btn-edit{
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: 0.4rem;
    background-color: var(--color-grey);
    border-radius: 0.2rem;
    color: var(--color-dark);
    cursor: pointer;
    transition: var(--transition);
}
.cart-area .btn-edit:hover{
    background-color: var(--color-main-light);
}
.cart-area .btn-ration-edit{
    font-size: 1rem;
    background-color: var(--color-grey);
    padding: 0.6em 1em;
}
.cart-area .btn-ration-edit:hover{
    background-color: var(--color-main);
}

/* cart form */
.form-area{
    padding: 4rem 0;
}
#cart-form{
    padding: 0 2rem;
}
#cart-form{
    padding: 0 2rem;
}
#cart-form > .row{
    margin-top: 2rem;
}
.page-cart .promocode-area{
    padding: 0 2rem;
}
.page-cart #promocode{
    margin: 0;
}
.page-cart #check-promocode{
    height: 100%;
    width: 100%;
    padding: 0;
    border-radius: 0.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.form-control{
    font-size: 1.2rem;
    padding: 0.7rem 1rem;
    margin-bottom: 0.5rem;
    border-radius: 0.8rem;
}
/* ---- ration-selector ---- */
.ration-selector{
    position: relative;
}
.menu .ration-selector{
    display: none;
}

.ration-selector .ration-link-list{
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    padding: 1.6rem;
    display: flex;
    gap: 0.5rem;
    background-color: #fff;
    border-radius: 1.4rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);

    opacity: 0;
    display: none;
    transition: var(--transition);
}
.ration-selector .ration-link-list.show{
    opacity: 1;
    display: flex;
    z-index: 2;
}
.ration-selector .ration-link{
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    background-color: #fff;
    color: var(--color-dark);
    padding: 0.4rem 1rem;
    border: 1px solid #aaa;
    border-radius: 100px;
    margin-top: 0.4rem;
    cursor: pointer;
    transition: var(--transition);
}
.ration-selector .ration-link:hover{
    background-color: var(--color-main);
}

/* ---- calculator  ---- */
#calculator-modal .modal-content,
#calculator-modal-result .modal-content{
    display: flex;
    flex-direction: row;
}
#calculator-modal .modal-content .calculator-image img,
#calculator-modal-result .modal-content .calculator-image img{
    width: 100%;
}
#calculator-modal .btn-radio{
    font-size: 1rem;
    font-weight: 400;
    padding: 0.8rem;
    margin-bottom: 1rem;
    width: 100%;
    color: var(--color-dark);
    border: 1px solid var(--color-grey);
}
#calculator-modal label{
    margin: 1rem 0;
}

#calculator-modal .btn-radio:hover{
    background-color: var(--color-main-fade);
    border-color: var(--color-main);
}
#calculator-modal .btn-radio.active{
    background-color: var(--color-main);
    border-color: var(--color-main);
}
/* Chrome, Safari, Edge, Opera */
#calculator-modal input::-webkit-outer-spin-button,
#calculator-modal input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
#calculator-modal input[type="number"] {
  -moz-appearance: textfield;
}

#calculator-modal-result .result-value{
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
}
#calculator-modal-result .result-label{
    font-size: 1.4rem;
    font-weight: 700;
    margin: 3rem 0;
}
#calculator-modal-result .ration-list{
    display: flex;
    gap: 1rem;
}
#calculator-modal-result .ration-card{
    flex-direction: column;
    gap: 1rem;
    min-width: 150px;
    padding: 1rem;
}
#calculator-modal-result .ration-card .name{
    text-transform: uppercase;
    font-weight: 200;
    text-align: center;
}
#calculator-modal-result .ration-card .icon{
    width: 70px;
    height: 70px;
}
#calculator-modal-result .ration-card .slogan{
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
}
#calculator-modal-result .ration-card .calorie{
    display: block;
    width: unset;
    height: unset;
    font-size: 0.9rem;
    font-weight: 700;
    text-align: center;
    padding: 0.4rem 0.8rem;
    border-radius: 100px;
    background-color: var(--color-main);
}
#calculator-modal-result .ration-item .calorie span{
    font-weight: 400;
}
#calculator-modal-result .ration-item .price{
    font-size: 0.9rem;
    font-weight: 700;
    text-align: center;
}
#calculator-modal-result .ration-item .price span{
    font-weight: 400;
}
#calculator-modal-result .ration-links .btn-primary{
    margin-top: 1rem;
}


/* about - page*/
[class^="page-content"] p,
[class^="page-content"] h2,
[class^="page-content"] h3{
    padding-left: 1rem;
    padding-right: 1rem;
}

.page-content-about img{
    width: 100%;
    border-radius: 1.6rem;
    overflow: hidden;
}
.features{
    background-color: var(--color-grey-light);
    padding: 4rem 0 2rem;
}
.features-grid{
    padding: 3rem 1rem;
    display: grid;
    grid-template-columns: repeat(8, 200px);    
    gap: 1rem;

    margin: 0 calc(-50vw + 50%);
    overflow-x: auto;
}
.feature-card{
    background-color: #fff;
    border-radius: 1.4rem;
    padding: 3rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
}
.feature-card svg{
    fill: var(--color-main);
    width: 70px;
    height: 70px;
}
.feature-card .feature-title{
    color: var(--color-main);
    font-family: var(--font-header-family);
    font-size: 1.6rem;
    font-weight: 600;
}
.feature-card .feature-text p{
    font-size: 0.9rem;
    line-height: 1.2em;
    text-align: left;
    padding: 0 1rem 0;
    margin-bottom: 0.5rem;
}
.card-grid{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
}
.card-shadow{
    padding: 1rem;
    position: relative;
    margin-right: 1rem;
    z-index: 0;
}
.card-shadow:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 1.6rem;
    background: #fff;
    border: 1px solid var(--color-grey-dark);
    z-index: -1;
}
.card-shadow:after{
    content: '';
    position: absolute;
    top: 2rem;
    left: 2rem;
    width: calc(100% - 1rem);
    height: calc(100% - 1rem);
    border-radius: 2rem;
    background: linear-gradient(to bottom, #fff, var(--color-main-light));
    z-index: -2;
}

/* blog */
.blog-list{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
}
.post-card .post__image{
    display: block;
    border-radius: 1.6rem;
    overflow: hidden;
}
.post-card .post__image img{
    width: 100%;
    height: auto;
    transition: var(--transition);
}
.post-card .post__image:hover img{
    transform: scale(1.05);
}

.post-card .title{
    display: flex;
    justify-content: space-between;
    margin: 1.6rem 0;
    padding: 0 1rem;
}
.post-card .title .post__title{
    display: block;
    max-width: 70%;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2em;
    color: var(--color-dark);
}
.post-card .title .post__title:hover{
    color: var(--color-main);
}
.post-card .description{
    padding: 0 1rem;
}

.post .public-date{
    font-size: 0.9rem;
    font-weight: 200;
    color: var(--color-grey-dark);
    padding: 0 1.6rem;
}
.post .post-image{
    margin-top: 3rem;
    border-radius: 1.6rem;
    overflow: hidden;
}
.post .post-image img{
    width: 100%;
    height: auto;
}
.post .content{
    padding: 2rem 0;
}
.post .content img{
    width: 100%;
    height: auto;
    border-radius: 1.6rem;
    overflow: hidden;
}
.post .content p{
    padding: 0;
}


/* actions */
.action-list{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 2rem;
}
.action-card .post__image {
    display: block;
    border-radius: 1.6rem;
    overflow: hidden;
}
.action-card .post__image img{
    width: 100%;
    height: auto;
}
.masonry{
    columns: 2;
    column-gap: 1rem;
    break-inside: avoid;
}
.masonry img{
    margin-top: 1rem;
}





/* ------ cabinet ---- */
.page.page-cabinet{
    background-color: var(--color-page-bg);
}
.page.page-cabinet .topper{
    display: none;
}
.page.page-cabinet .breadcrumbs-wrapper{
    background-color: #fff;
}
#cabinet{
    padding: 2rem 0 4rem;
}
#cabinet .container{
    max-width: 900px;
}
#cabinet .section-title{
    margin: 2rem 0;
}
#cabinet .sidebar .nav-link{
    color: var(--color-dark);
    position: relative;
}
#cabinet .sidebar .nav-link.selected{
    font-weight: 900;
    color: var(--color-dark);
}


/*============ only mobile ===================*/
@media(max-width: 575px){
    /* растянуть по ширине */
    .w-stretch-xs {
        width: 100vw; 
        margin-left: calc(-50vw + 50%);
        padding: 0;
    }

    .page-content-about .page-title{
        position: relative;
        z-index: 1;
    }
    .page-content-about .top-image-xs{
        margin-top: -6rem;
        position: relative;
        z-index: 0;
    }
    .page-content-about .w-stretch-xs img{
        border-radius: 0;
    }


}

/*========== lg ===========*/
@media(min-width: 992px){
    html{
        font-size: 14px;
    }

}


/*========== less than desktop ===========*/
@media(max-width: 1399px){
    .xxl{
        display: none !important;
    }



}
/*========== only desktop ===========*/
@media(min-width: 1400px){
    .xs{
        display: none !important;
    }
    html{
        font-size: 16px;
    }
    .section-title .h2{
        font-size: 3rem;
    }

    .container{
        max-width: 1200px;
    }

    /* header */
    .header{
        padding: 1rem 0;
    }
    .header .header-content{
        padding: 0 1.4rem;
    }
    .header .logo .logo-pp{
        width: auto;
        height: 36px;
    }
    .header .logo .logo-proportsiya{
        display: none;
    }
    .header .main-menu{
        display: flex;
        gap: 1rem;
    }
    .header .main-menu a{
        font-weight: 600;
        color: var(--color-dark);
        transition: var(--transition)
    }
    .header .main-menu a:hover{
        color: var(--color-main);
    }
    .header .main-menu .delimeter{
        display: block;
        width: 2px;
        height: 22px;
        background-color: var(--color-dark);
        opacity: 0.6;
    }

    .header .header-action{
        gap: 1.4rem;
    }
    .header .header-action svg {
        width: 30px;
        height: 30px;
    }
    .header .header-action .mobile-link {
        width: 30px;
        height: 30px;
    }
    #side-menu nav ul{
        font-size: 1rem;
        line-height: 1.2em;
    }


    .topper{
        margin-top: 1.4rem;
    }

    /* home-slider */
    .home-slider{
        padding-top: 1.4rem;
    }


    /* calculator */
    .calculator .calculator-content{
        gap: 5rem;
        align-items: center;
        max-width: 80%;
    }
    .calculator .calculator-content .btn{
        padding: 0.2rem 1.2rem;
        gap: 1.2rem;
        height: 66px;
    }
    .calculator .calculator-content .btn span:first-child{
        padding: 0 1.4rem;
    }

    /* ration list */
    .ration-selection {
        padding-bottom: 3rem;
    }
    .ration-selection .nav-tabs .nav-item{
        flex: 0 0 30%;
    }
    .ration-list {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 1rem;
        padding: 2rem 0 0;
    }
    .ration-list .ration-card{
        flex-direction: column;
        gap: 0.6rem;
        padding: 1rem;
        position: relative;
    }
    .ration-list .ration-card.selected::after{
        content: '';
        display: block;
        position: absolute;
        width: 6rem;
        height: 3rem;
        background-image: url('/assets/svg/bullet.svg');
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        background-position: top center;
        background-size: cover;
    }
    .ration-list .ration-card .name{
        order: -1;
        writing-mode: unset;
        margin: 0.6rem auto 0;
    }
    .ration-list .ration-card .ration-icon {
        width: 76px;
        height: 76px;
        background-color: #fff;
    }
    .ration-list .ration-card .ration-icon svg{
        width: 60px;
        height: 60px;
    }
    .ration-list .ration-card .calorie{
        flex-direction: row;
        gap: 0.3rem;
        width: auto;
        height: auto;
        padding: 0.6rem 1rem;
        border-radius: 2rem;
    }
    .ration-list .ration-card .price {
        font-size: 0.9rem;
        margin-right: 0;
        width: auto;
        text-align: center;
    }

    /* menu */
    #menu{
        scroll-margin: 4rem;
    }
    .menu .ration-info .ration-card{
        order: 1;
        transform: translateY(-90px);
    }
    .menu .ration-data{
        flex: 1 1 auto;
    }
    .menu .grid-wrapper{
        padding-top: 1rem;
        display: grid;
        grid-template-columns: 3fr 1fr;
        align-items: start;
        gap: 0 2rem;
        grid-template-rows: minmax(100px, auto);
    }
    .menu .grid-wrapper .menu-navigate{ /* right side */
        grid-column: 2;
        grid-row: 1;
        display: flex;
        flex-direction: column-reverse;
        gap: 1rem;
    }
    .menu .grid-wrapper .menu-summary{ 
        padding: 0;
        margin: 0;
    } 
    .menu .grid-wrapper .dish-wrapper{ /* left side + span row */
        grid-column: 1;
        grid-row: 1 / span 2;
    }
    .menu .grid-wrapper .dish-list{ /* left side + span row */
        grid-template-columns: repeat(3, 1fr);
        padding: 0;
        margin: 0;
    }
    .menu .grid-wrapper .day-list{ 
        margin: 0;
    }
    .menu .grid-wrapper .order-form{ /* right side */
        grid-column: 2;
        grid-row: 2;
    }
    .menu .day-list .day{
        font-size: 0.9rem;
        padding: 0.4rem;
    }
    .menu .day-list .day span{
        font-size: 0.85rem;
    }
    /* dish card */
    .menu .dish-list .dish-card{
        --body-padding: 0.8rem;
        --card-padding: 0.8rem;
    }
    .menu .dish-list .dish-card .body{
        display: block;
    }
    .menu .dish-list .dish-card .dish-footer{
        display: flex;
    }
    .menu .dish-list .dish-card .body-mobile{
        display: none;
    }

    /* order-area */
    .order-area .tarif-info .label,
    .order-area .tarif-info .capacity,
    .order-area .tarif-info .price{
        font-size: 1.1rem;
    }
    .order-area .tarif-info .label small{
        font-size: 0.8rem;
    }


    /* about */
    .double-content{
        padding: 2.4rem 2.4rem 2.4rem 50%;
    }
    .double-content .profit{
        margin-top: 3rem;
    }
    .double-content .pt-3{
        margin-top: 3rem;
    }


    #modal-double .double-area{
        display: flex;
        gap: 2rem;
    }
    #modal-double .double-area > div{
        flex: 1 0;
    }

    .about-logo{
        top: 50%;
        left: 10%;
        transform: translateY(-50%);
    }
    .about-logo svg {
        height: 50px;
    }
    .about-content {
        width: 400px;
        left: 60%;
        transform: translateY(50%);
        bottom: 50%;
        font-size: 1.2rem;
    }
    .home-video .btn-video {
        width: 200px;
        height: 200px;
    }
    .home-video .btn-video svg{
        width: 80px;
    }

    /* reviews */
    .reviews .swiper-button-prev,
    .reviews .swiper-button-next{
        display: block;
    }
    .reviews .swiper-container{
        position: relative;
        margin: 0 -3rem;    
        padding: 0 3rem;
    }
    .review-item .review-text {
        font-size: 1rem;
    }


    .stars .star {
        width: 16px;
        height: 16px;
        background: url('../assets/img/star.svg') no-repeat center;
            background-size: auto;
        background-size: 16px;
    }

    /* media */
    .media .media-links{
        grid-template-columns: repeat(3, 1fr);
    }
    .media .media-links .brand img{
        width: 180px;
        height: 30px;
    }

    /* faq */
    .faq{
        padding: 0 0 3rem;
    }
    .faq .nav-tabs {
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;
    }
    .faq .nav-tabs .nav-item a{
        display: block;
        padding: 2rem;
        background-color: #fff;
        border-radius: 1.6rem;
        text-align: center;
        transition: var(--transition);
    }
    .faq .nav-tabs .nav-item a.active{
        background-color: var(--color-main);
    }
    .faq .nav-tabs .nav-item .name{
        font-size: 1.2rem;
        font-weight: 600;
        color: var(--color-dark);
        transition: var(--transition);
    }
    .faq .nav-tabs .nav-item a.active .name{
        color: #fff;
    }

    .faq .nav-tabs .nav-item img{
        width: 200px;
        height: auto;
        transition: var(--transition);
    }
    .faq .nav-tabs .nav-item:hover .name{
        color: var(--color-main);
    }
    .faq .nav-tabs .nav-item:hover img{
        transform: scale(1.05);
    }
    .faq .accordion-button{
        font-size: 1.2rem;
        font-weight: 600;
    }
    .faq .accordion{
        gap: 1rem;
    }

    /* footer */
    .footer .logo-link{
        flex-direction: column;
        align-items: start;
        gap: 0.6rem;
    }
    .footer .logo-link svg{
        width: auto;
        height: 40px;
    }
    .footer .footer-contacts{
        gap: 0;
        padding-top: 52px;
    }
    .footer h3{
        margin-bottom: 1.4rem;
    }
    .footer .phone a, .footer .email a {
        font-size: 1.4rem;
    }
    .footer .social svg {
        height: 32px;
    }
    .footer-down{
        padding: 0;
        font-size: 0.9rem;
    }

    /* page-cart */
    .page-title {
        font-size: 3rem;
    }
    .page-cart .page-title,
    .page-cart .section-title {
        padding-left: 100px
    }
    .breadcrumbs-wrapper {
        padding: 0.6rem 0;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        border-radius: 1rem;
    }
    .cart-area {
        padding: 2rem;
        max-width: var(--form-lg-width);
        margin: 0 auto;
    }

    #cart-form{
        max-width: var(--form-lg-width);
        padding: 0;
        margin: 0 auto;
    }
    #cart-form > .row{
        margin-top: 3rem;
    }

    .promocode-area{
        max-width: var(--form-lg-width);
        padding: 0;
        margin: 0 auto;
    }


    /* ---- calculator  ---- */
    #calculator-modal .modal-dialog,
    #calculator-modal-result .modal-dialog{
        max-width: 1000px;
    }
    #calculator-modal .modal-content,
    #calculator-modal-result .modal-content{
        overflow: hidden;
    }
    #calculator-modal-result .ration-card {
        min-width: 180px;
        padding: 2rem;
    }

    /* ------  page-content ------ */
    .bg-gradient-desktop{
        background: linear-gradient(to bottom, var(--color-main-light), #fff);
        padding: 2rem 1.4rem;
        border-radius: 2rem;
    }
    .bg-desktop-none{
        background: none !important;
    }

    hr{
        border-top: 1px dashed #000;
        margin: 2rem 0;
    }

    .features-grid{
        grid-template-columns: repeat(4, 1fr);
        margin: 0;
    }
    .feature-card svg{
        width: 100px;
        height: 100px;
    }

    .card-grid{
        grid-template-columns: repeat(2, 1fr);
    }

    /* blog */
    .blog-list{
        grid-template-columns: repeat(2, 1fr);
    }
    .blog-list .blog-card{
        max-width: 500px;
        margin: 0 auto;
    }
    .blog-list .blog-card .img{
        height: 300px;
    }
    .post .post-image{
        border-radius: 3rem;
    }
    .post .content{
        padding: 2rem 0;
        columns: 2;
        gap: 4rem;
    }
    .post .content .columns-2{
        column-span: all;
        columns: 2;
        gap: 4rem;
        padding-bottom: 3rem;
    }
    .post .content p{
        break-inside: avoid;
    }
    .post .content h3{
        margin-top: 2rem;
        margin-bottom: 1.5rem;
    }


    /* actions */
    .action-list{
        grid-template-columns: repeat(3, 1fr);
    }



    /* cabinet */

    #cabinet .sidebar .nav-link.selected::before{
        content: '●'; /* big dot */
        position: absolute;
        left: -20px;
    }


}

