.rg-menu{
    --rg-red:#c62d2d;
    --rg-red-dark:#9f2020;
    --rg-text:#1e1e1e;
    --rg-muted:#727272;
    --rg-line:#ece9e5;
    --rg-soft:#faf8f6;

    width:100%;
    max-width:1040px;
    margin:0 auto;
    padding:8px 16px 54px;
    color:var(--rg-text);
    font:inherit;
}

.rg-menu *{
    box-sizing:border-box;
}

.rg-menu__nav{
    position:sticky;
    top:12px;
    z-index:10;

    display:flex;
    gap:7px;

    width:max-content;
    max-width:100%;

    margin:0 auto 28px;
    padding:7px;

    overflow-x:auto;
    scrollbar-width:none;

    border:1px solid rgba(0,0,0,.07);
    border-radius:999px;

    background:rgba(255,255,255,.94);

    box-shadow:
        0 8px 28px rgba(0,0,0,.075);

    backdrop-filter:blur(12px);
}

.rg-menu__nav::-webkit-scrollbar{
    display:none;
}

.rg-menu__nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:38px;
    padding:8px 15px;

    border-radius:999px;

    color:#333;
    text-decoration:none;

    font-size:14px;
    font-weight:750;

    white-space:nowrap;

    transition:
        background .16s ease,
        color .16s ease,
        transform .16s ease;
}

.rg-menu__nav a:hover,
.rg-menu__nav a:focus-visible{
    background:var(--rg-red);
    color:#fff;
    outline:none;
    transform:translateY(-1px);
}

.rg-menu__section{
    scroll-margin-top:88px;

    margin:0 0 26px;

    overflow:hidden;

    border:1px solid var(--rg-line);
    border-radius:24px;

    background:#fff;

    box-shadow:
        0 4px 14px rgba(0,0,0,.025),
        0 18px 45px rgba(0,0,0,.04);
}

.rg-menu__header{
    display:grid;
    grid-template-columns:minmax(0,1fr) 160px;
    align-items:stretch;

    min-height:148px;

    margin:0;
    padding:0;

    border:0;

    background:
        linear-gradient(
            110deg,
            #fff 0%,
            #fff 66%,
            #faf7f4 100%
        );
}

.rg-menu__title-wrap{
    display:flex;
    align-items:center;
    gap:17px;

    min-width:0;

    padding:27px 28px;
}

.rg-menu__bar{
    display:block;

    width:5px;
    height:53px;
    flex:0 0 5px;

    border-radius:999px;

    background:var(--rg-red);
}

.rg-menu__title{
    margin:0;

    color:#181818;

    font-size:clamp(
        28px,
        4vw,
        39px
    );

    font-weight:850;
    line-height:1.03;

    letter-spacing:-.8px;
}

.rg-menu__category-description{
    max-width:600px;

    margin:8px 0 0;

    color:var(--rg-muted);

    font-size:14px;
    line-height:1.55;
}

.rg-menu__category-image{
    display:block;

    width:160px;
    height:100%;
    min-height:148px;

    object-fit:cover;

    border-radius:0;
}

.rg-menu__items{
    width:100%;
    padding:5px 23px 14px;
}

.rg-menu__item{
    display:flex;
    align-items:center;
    gap:14px;

    min-height:67px;

    padding:13px 4px;

    border:0;
    border-bottom:1px solid var(--rg-line);

    transition:background .15s ease;
}

.rg-menu__item:last-child{
    border-bottom:0;
}

.rg-menu__item:hover{
    background:#fcfbfa;
}

.rg-menu__item-image{
    width:70px;
    height:70px;
    flex:0 0 70px;

    object-fit:cover;

    border-radius:14px;

    box-shadow:
        0 4px 13px rgba(0,0,0,.08);
}

.rg-menu__item-content{
    flex:1;
    min-width:0;
}

.rg-menu__item-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:18px;
}

.rg-menu__item-copy{
    min-width:0;
}

.rg-menu__item-name{
    margin:0;

    color:#242424;

    font-size:16px;
    font-weight:760;
    line-height:1.32;
}

.rg-menu__item-description{
    max-width:690px;

    margin:5px 0 0;

    color:var(--rg-muted);

    font-size:13px;
    line-height:1.5;
}

.rg-menu__price{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:72px;
    min-height:34px;

    padding:7px 11px;

    border-radius:999px;

    background:#fff1f1;
    color:var(--rg-red-dark);

    font-size:14px;
    font-weight:850;
    line-height:1;

    white-space:nowrap;
}

@media(max-width:767px){

    .rg-menu{
        padding:
            4px
            7px
            40px;
    }

    .rg-menu__nav{
        top:7px;

        justify-content:flex-start;

        width:100%;

        margin-bottom:19px;

        border-radius:15px;
    }

    .rg-menu__nav a{
        min-height:35px;

        padding:
            7px
            12px;

        font-size:13px;
    }

    .rg-menu__section{
        margin-bottom:17px;
        border-radius:19px;
    }

    .rg-menu__header{
        grid-template-columns:
            minmax(0,1fr)
            102px;

        min-height:110px;
    }

    .rg-menu__title-wrap{
        gap:12px;

        padding:
            18px
            16px;
    }

    .rg-menu__bar{
        width:4px;
        height:41px;
        flex-basis:4px;
    }

    .rg-menu__title{
        font-size:26px;
    }

    .rg-menu__category-description{
        font-size:12px;
    }

    .rg-menu__category-image{
        width:102px;
        min-height:110px;
    }

    .rg-menu__items{
        padding:
            4px
            12px
            9px;
    }

    .rg-menu__item{
        gap:10px;

        padding:
            11px
            2px;
    }

    .rg-menu__item-image{
        width:57px;
        height:57px;
        flex-basis:57px;

        border-radius:11px;
    }

    .rg-menu__item-row{
        gap:9px;
    }

    .rg-menu__item-name{
        font-size:14px;
    }

    .rg-menu__item-description{
        margin-top:4px;

        font-size:12px;
    }

    .rg-menu__price{
        min-width:60px;
        min-height:29px;

        padding:
            6px
            8px;

        font-size:12px;
    }

}

@media(max-width:420px){

    .rg-menu__header{
        grid-template-columns:
            minmax(0,1fr)
            84px;
    }

    .rg-menu__category-image{
        width:84px;
    }

    .rg-menu__title{
        font-size:23px;
    }

    .rg-menu__title-wrap{
        padding-left:13px;
        padding-right:10px;
    }

}
