@font-face {
    font-family: "Geist Mono Menu";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("/assets/_vinext_fonts/geist-mono-00e989178794/geist-mono-013b2f2f.woff2") format("woff2");
}

body.page-menu {
    background: #f7f6f1;
    color: #101913;
}

html body.page-menu.page-home main > section:not(.menu-page-root) {
    display: none !important;
}

.menu-page-root[hidden] {
    display: none !important;
}

.menu-page-root,
.menu-page-root * {
    box-sizing: border-box;
}

.menu-page-root {
    padding: 64px 0 48px;
    background: #f7f6f1;
    font-family: Geist, sans-serif;
}

.menu-page-container {
    width: min(1280px, calc(100% - 64px));
    margin: 0 auto;
}

.menu-page-set-list {
    display: flex;
    gap: 8px;
    margin-bottom: 56px;
    overflow-x: auto;
    scrollbar-width: none;
}

.menu-page-set-list::-webkit-scrollbar {
    display: none;
}

.menu-page-set {
    box-sizing: border-box;
    flex: 0 0 305.99981689453125px;
    width: 305.99981689453125px;
    min-width: 305.99981689453125px;
    max-width: 305.99981689453125px;
    height: 134px;
    min-height: 134px;
    max-height: 134px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
    padding: 20px;
    border: 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: inset 0 0 0 1px #e6e4dc;
    color: #101913;
    opacity: 1;
    transform: rotate(0deg);
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 160ms ease, background 160ms ease;
}

.menu-page-set:not(.is-active) {
    background: #fff;
}

.menu-page-set.is-active {
    padding: 20px;
    background: #ddebd8;
    box-shadow: inset 0 0 0 2px #2f7a44;
}

.menu-page-set > span {
    display: grid;
    flex: 0 0 62px;
    width: 265.99981689453125px;
    height: 62px;
    gap: 10px;
}

.menu-page-set strong {
    display: block;
    width: 265.99981689453125px;
    height: 33px;
    overflow: hidden;
    font-size: 22px;
    font-weight: 600;
    line-height: 33px;
    letter-spacing: -.7px;
    white-space: nowrap;
}

.menu-page-set small {
    display: block;
    width: 265.99981689453125px;
    height: 19px;
    color: #50594f;
    font-size: 16px;
    font-weight: 400;
    line-height: 19.2px;
    letter-spacing: -.16px;
}

.menu-page-set b {
    display: block;
    flex: 0 0 22px;
    width: 265.99981689453125px;
    height: 22px;
    color: #50594f;
    font-family: "Geist Mono Menu", "Geist Mono", monospace;
    font-size: 18px;
    font-weight: 600;
    line-height: 21.6px;
    letter-spacing: -.18px;
}

.menu-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: start;
    gap: 24px;
}

.menu-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0;
    margin-bottom: 32px;
}

.menu-page-heading h1 {
    display: block;
    width: 621.0001831054688px;
    height: 44px;
    margin: 0 0 10px;
    color: #101913;
    font-family: Geist, sans-serif;
    font-size: 44px;
    font-weight: 700;
    font-style: normal;
    line-height: 44px;
    letter-spacing: -1.32px;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-heading p {
    display: block;
    width: 392px;
    height: 17px;
    margin: 0;
    color: #50594f;
    font-family: Geist, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16.8px;
    letter-spacing: -.16px;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    width: 312.99932861328125px;
    min-width: 312.99932861328125px;
    max-width: 312.99932861328125px;
    height: 41px;
    min-height: 41px;
    max-height: 41px;
    gap: 8px;
    padding: 12px 16px;
    border-radius: 21911200px;
    background: #ddebd8;
    color: #1e5a30;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-badge::before {
    content: "";
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #1e5a30;
}

.menu-page-badge__text {
    display: block;
    flex: 0 0 265px;
    width: 265px;
    height: 17px;
    color: #1e5a30;
    font-family: Geist, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: -.16px;
    white-space: nowrap;
    opacity: 1;
}

.menu-page-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 16px;
    overflow-x: auto;
    scrollbar-width: none;
}

.menu-page-tabs::-webkit-scrollbar {
    display: none;
}

.menu-page-tabs button {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: none;
    min-height: 42px;
    padding: 11px 20px;
    border: 1px solid #e6e4dc;
    border-radius: 999px;
    background: #fff;
    color: #101913;
    font-family: Geist, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16.8px;
    letter-spacing: -.16px;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;
}

.menu-page-tabs button.is-active {
    border-color: #101913;
    background: #101913;
    color: #fff;
}

.menu-page-note {
    box-sizing: border-box;
    width: 933.99951171875px;
    min-width: 933.99951171875px;
    max-width: 933.99951171875px;
    height: 58px;
    min-height: 58px;
    max-height: 58px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 48px;
    padding: 12px 16px;
    border-radius: 21911200px;
    background: #e6e4dc;
    color: #101913;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-note::before {
    content: "";
    flex: 0 0 8px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #101913;
}

.menu-page-note__text {
    display: block;
    flex: 0 0 886.0001831054688px;
    width: 886.0001831054688px;
    height: 34px;
    color: #101913;
    margin: 0;
    font-family: Geist, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16.8px;
    letter-spacing: -.16px;
    opacity: 1;
}

.menu-page-categories {
    display: grid;
    gap: 64px;
}

.menu-page-category {
    scroll-margin-top: 32px;
}

.menu-page-category__heading {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
}

.menu-page-category__heading h2 {
    display: block;
    width: max-content;
    height: 33px;
    margin: 0;
    color: #101913;
    font-family: Geist, sans-serif;
    font-size: 22px;
    font-weight: 600;
    font-style: normal;
    line-height: 33px;
    letter-spacing: -.7px;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-category__prompt {
    box-sizing: border-box;
    flex: 0 0 172px;
    width: 172px;
    min-width: 172px;
    max-width: 172px;
    height: 26px;
    min-height: 26px;
    max-height: 26px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 21911200px;
    background: #e2a132;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-category__prompt-text {
    display: block;
    width: 148px;
    height: 14px;
    white-space: nowrap;
    color: #fff;
    font-family: Geist, sans-serif;
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 14.4px;
    letter-spacing: -.16px;
    opacity: 1;
}

.menu-page-dishes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.menu-page-dishes::-webkit-scrollbar {
    display: none;
}

.menu-page-dish {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e6e4dc;
    border-radius: 24px;
    background: #fff;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-dish > img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: cover;
    background: #eef0df;
}

.menu-page-dish__body {
    min-height: 148px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    padding: 20px;
}

.menu-page-dish h3 {
    margin: 0;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -.32px;
}

.menu-page-dish__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.menu-page-quantity {
    display: flex;
    align-items: center;
    gap: 4px;
}

.menu-page-quantity button,
.menu-page-quantity output {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    font: 400 25px/1 Geist, sans-serif;
}

.menu-page-quantity button {
    border: 1px solid #e6e4dc;
    background: #fff;
    color: #101913;
    cursor: pointer;
}

.menu-page-quantity output {
    font-size: 15px;
}

.menu-page-quantity[data-count="0"] button[data-action="minus"],
.menu-page-quantity[data-count="0"] output {
    display: none;
}

.menu-page-quantity:not([data-count="0"]) {
    box-sizing: border-box;
    flex: 0 0 100px;
    width: 100px;
    height: 42px;
    justify-content: space-between;
    gap: 0;
    padding: 0 4px;
    border: 1px solid #e6e4dc;
    border-radius: 999px;
}

.menu-page-quantity:not([data-count="0"]) button,
.menu-page-quantity:not([data-count="0"]) output {
    width: 30px;
    height: 40px;
}

.menu-page-quantity:not([data-count="0"]) button {
    border: 0;
}

.menu-page-dish-remove {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #fde3e3;
    color: #e32929;
    cursor: pointer;
}

.menu-page-dish-remove__icon {
    display: block;
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.menu-page-quantity[data-count="0"] + .menu-page-dish-remove {
    display: none;
}

.menu-page-dish-remove:hover,
.menu-page-dish-remove:focus-visible {
    background: #fbd2d2;
    outline: none;
}

.menu-page-composition {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 0;
    border-radius: 999px;
    background: #e6e4dc;
    color: #101913;
    font: 400 14px/1.2 Geist, sans-serif;
    cursor: pointer;
}

.menu-page-summary {
    position: sticky;
    top: 24px;
    align-self: start;
    z-index: 10;
    box-sizing: border-box;
    width: 320px;
    min-width: 320px;
    max-width: 320px;
    height: auto;
    min-height: 0;
    max-height: none;
    display: flex;
    flex-direction: column;
    padding: 0;
    border: 1px solid #e6e4dc;
    border-radius: 24px;
    background: #fff;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-address {
    width: 100%;
    height: 91px;
    min-height: 91px;
    max-height: 91px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 20px;
    border: 0;
    border-bottom: 1px solid #e6e4dc;
    background: transparent;
    color: #101913;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.menu-page-address.is-empty {
    grid-template-columns: 24px minmax(0, 1fr) 102px;
    gap: 12px;
}

.menu-page-address.is-empty .menu-page-address__pin {
    color: #d60000;
}

.menu-page-address__empty-text {
    display: block;
    width: 137px;
    height: 19px;
    transform: translateX(-4px);
    min-width: 0;
    color: #c00000;
    font-family: Geist, sans-serif;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 19.2px;
    letter-spacing: -.16px;
    white-space: nowrap;
}

.menu-page-address__choose {
    box-sizing: border-box;
    width: 102px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    border-radius: 999px;
    background: #2f7a44;
    color: #fff;
    font-family: Geist, sans-serif;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 19.2px;
    letter-spacing: -.16px;
}

.menu-page-address > span:not(.menu-page-address__choose),
.menu-page-summary__head {
    display: grid;
    gap: 2px;
}

.menu-page-address__pin {
    color: #50594f;
}

.menu-page-address small {
    display: block;
    width: 125px;
    height: 17px;
    color: #50594f;
    font-family: Geist, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: -.16px;
    opacity: 1;
}

.menu-page-address strong {
    display: block;
    width: 168px;
    height: 19px;
    color: #101913;
    font-family: Geist, sans-serif;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: -.16px;
    opacity: 1;
}

.menu-page-address.is-empty .menu-page-address__empty-text {
    width: 137px;
    height: 19px;
    color: #c00000;
}

.menu-page-summary__head {
    margin: 0 0 16px;
}

.menu-page-summary__head h2 {
    display: block;
    width: 255px;
    height: 19px;
    margin: 0;
    color: #101913;
    font-family: Geist, sans-serif;
    font-size: 16px;
    font-weight: 600;
    font-style: normal;
    line-height: 19.2px;
    letter-spacing: -.16px;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-order {
    position: relative;
    box-sizing: border-box;
    flex: 0 0 auto;
    width: 319px;
    min-width: 319px;
    max-width: 319px;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 20px;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-order-panel {
    width: 279px;
    height: auto;
    border-radius: 12px;
    background: #f7f6f1;
    overflow: visible;
}

.menu-page-order-lines {
    display: grid;
    width: 255px;
    gap: 8px;
}

.menu-page-order-line {
    position: relative;
    display: grid;
    grid-template-columns: 40px 135px 64px;
    align-items: center;
    width: 255px;
    min-width: 255px;
    max-width: 255px;
    height: 40px;
    min-height: 40px;
    max-height: 40px;
    gap: 8px;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-order-remove {
    position: absolute;
    top: 10px;
    right: -24px;
    width: 20px;
    height: 20px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #7b827a;
    cursor: pointer;
    opacity: 1;
    transition: background-color 150ms ease, color 150ms ease;
}

.menu-page-order-remove::before,
.menu-page-order-remove::after {
    content: "";
    position: absolute;
    top: 9px;
    left: 5px;
    width: 10px;
    height: 1.5px;
    border-radius: 2px;
    background: currentColor;
}

.menu-page-order-remove::before {
    transform: rotate(45deg);
}

.menu-page-order-remove::after {
    transform: rotate(-45deg);
}

.menu-page-order-remove:hover,
.menu-page-order-remove:focus-visible {
    background: #f3e6e2;
    color: #a53a2d;
    outline: none;
}

.menu-page-order-line img {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
}

.menu-page-order-copy {
    width: 135px;
    min-width: 135px;
    max-width: 135px;
    height: 17px;
    display: block;
}

.menu-page-order-line strong {
    display: block;
    width: 135px;
    height: 17px;
    overflow: hidden;
    color: #101913;
    font-family: Geist, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 16.8px;
    letter-spacing: -.16px;
    opacity: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.menu-page-order-stepper {
    width: 64px;
    height: 24px;
    display: grid;
    grid-template-columns: 18px 20px 18px;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
}

.menu-page-order-stepper button,
.menu-page-order-stepper output {
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0;
    color: #101913;
    font-family: Geist, sans-serif;
    font-size: 12px;
    line-height: 1;
}

.menu-page-order-stepper button {
    width: 18px;
    height: 18px;
    border: 1px solid #d6d8d1;
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
}

.menu-page-order-stepper button:hover,
.menu-page-order-stepper button:focus-visible {
    border-color: #2f7a44;
    color: #2f7a44;
    outline: none;
}

.menu-page-order-stepper output {
    width: 20px;
    height: 20px;
    color: #101913;
    font-weight: 600;
    text-align: right;
}

.menu-page-summary__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
}

.menu-page-summary__total span {
    display: block;
    width: 45px;
    height: 24px;
    color: #50594f;
    font-family: Inter, Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 24px;
    letter-spacing: -.31px;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-summary__footer {
    box-sizing: border-box;
    flex: 0 0 128px;
    width: 100%;
    height: 128px;
    padding: 20px;
    border-top: 1px solid #e6e4dc;
}

.menu-page-summary__total strong {
    display: block;
    width: 74px;
    height: 28px;
    color: #101913;
    font-family: Inter, Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 28px;
    letter-spacing: -.45px;
    text-align: right;
    opacity: 1;
    transform: rotate(0deg);
}

.menu-page-checkout {
    width: 100%;
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
    padding: 16px 24px;
    border-radius: 999px;
    background: #2f7a44;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
}

.menu-page-mobile-cart {
    display: none;
}

.menu-page-mobile-drawer {
    display: none;
}

@media (min-width: 901px) {
    .menu-page-set-list {
        width: 934px;
        overflow: visible;
    }

    .menu-page-dishes {
        width: 934px;
        min-width: 934px;
        max-width: 934px;
        height: 438px;
        min-height: 438px;
        max-height: 438px;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 298px;
        grid-template-rows: 438px;
        row-gap: 20px;
        column-gap: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        touch-action: pan-x pan-y;
        opacity: 1;
        transform: rotate(0deg);
    }

    .menu-page-dish {
        width: 298px;
        min-width: 298px;
        max-width: 298px;
        height: 438px;
        min-height: 438px;
        max-height: 438px;
        grid-row: 1 / span 1;
        grid-column: span 1;
        scroll-snap-align: start;
        scroll-snap-stop: normal;
    }

    .menu-page-dish > img {
        width: 296px;
        min-width: 296px;
        max-width: 296px;
    }

    .menu-page-dish__body {
        height: 156px;
        min-height: 156px;
    }

    .menu-page-summary {
        margin-top: -190px;
    }
}

@media (max-width: 900px) {
    html:has(body.page-menu),
    body.page-menu {
        height: auto !important;
        min-height: 100% !important;
        max-height: none !important;
    }

    body.page-menu {
        overflow-x: hidden;
        overflow-y: auto;
    }

    body.page-menu.menu-mobile-cart-open {
        overflow: hidden !important;
    }

    .menu-page-root {
        padding: 18px 0 48px;
    }

    .menu-page-container {
        width: 100%;
    }

    .menu-page-set-list {
        display: flex;
        gap: 8px;
        margin: 0 0 24px;
        padding: 0 16px;
        overflow-x: auto;
        scroll-padding-inline: 16px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .menu-page-set-list::-webkit-scrollbar {
        display: none;
    }

    .menu-page-set {
        flex-basis: 249px;
        width: 249px;
        min-width: 249px;
        max-width: 249px;
        height: 112px;
        min-height: 112px;
        max-height: 112px;
        gap: 8px;
        padding: 16px;
        border-radius: 24px;
        scroll-snap-align: start;
    }

    .menu-page-set.is-active {
        padding: 16px;
    }

    .menu-page-set > span {
        flex-basis: 52px;
        width: 217px;
        height: 52px;
        gap: 8px;
    }

    .menu-page-set strong {
        width: 217px;
        height: 27px;
        font-size: 18px;
        line-height: 27px;
        letter-spacing: -.48px;
    }

    .menu-page-set small {
        width: 217px;
        height: 17px;
        font-size: 14px;
        line-height: 16.8px;
    }

    .menu-page-set b {
        flex-basis: 19px;
        width: 217px;
        height: 19px;
        font-size: 16px;
        line-height: 19.2px;
    }

    .menu-page-layout {
        display: block;
    }

    .menu-page-catalog {
        min-width: 0;
    }

    .menu-page-heading {
        display: grid;
        gap: 20px;
        margin: 0 16px 24px;
    }

    .menu-page-heading h1 {
        width: auto;
        height: auto;
        margin-bottom: 8px;
        font-size: 32px;
        line-height: 1.2;
        letter-spacing: -1.32px;
    }

    .menu-page-heading p {
        width: auto;
        height: 17px;
        font-size: 14px;
        line-height: 1.2;
    }

    .menu-page-badge {
        width: 266px;
        min-width: 266px;
        max-width: 266px;
        height: 26px;
        min-height: 26px;
        max-height: 26px;
        padding: 6px 12px;
        font-size: 12px;
    }

    .menu-page-badge::before {
        width: 6px;
        height: 6px;
        flex-basis: 6px;
    }

    .menu-page-badge__text {
        flex-basis: auto;
        width: auto;
        height: 14px;
        font-size: 12px;
        line-height: 14.4px;
    }

    .menu-page-tabs {
        gap: 8px;
        margin-bottom: 23px;
        padding: 0 16px;
    }

    .menu-page-tabs button {
        height: 37px;
        min-height: 37px;
        max-height: 37px;
        padding: 10px 20px;
        font-size: 14px;
    }

    .menu-page-note {
        width: calc(100% - 32px);
        min-width: 0;
        max-width: none;
        height: 110px;
        min-height: 110px;
        max-height: 110px;
        margin: 0 16px 24px;
        padding: 16px;
        border-radius: 16px;
        font-size: 12px;
    }

    .menu-page-note::before {
        flex-basis: 6px;
        width: 6px;
        height: 6px;
    }

    .menu-page-note__text {
        flex: 1 1 auto;
        width: auto;
        height: auto;
        font-size: 14px;
        line-height: 16.8px;
    }

    .menu-page-categories {
        gap: 32px;
        padding: 0 16px;
    }

    .menu-page-category__heading {
        align-items: center;
        justify-content: flex-start;
        gap: 14px;
        margin-bottom: 16px;
    }

    .menu-page-category__prompt {
        margin-top: 0;
    }

    .menu-page-dishes {
        width: 359px;
        min-width: 359px;
        max-width: 359px;
        height: 438px;
        min-height: 438px;
        max-height: 438px;
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 298px;
        grid-template-rows: 438px;
        gap: 16px;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scroll-behavior: smooth;
        touch-action: pan-x pan-y;
    }

    .menu-page-dish {
        width: 298px;
        min-width: 298px;
        max-width: 298px;
        height: 438px;
        min-height: 438px;
        max-height: 438px;
        border-radius: 24px;
        scroll-snap-align: start;
    }

    .menu-page-dish > img {
        width: 296px;
        min-width: 296px;
        max-width: 296px;
        height: 280px;
        min-height: 280px;
        max-height: 280px;
        aspect-ratio: auto;
    }

    .menu-page-dish__body {
        height: 156px;
        min-height: 156px;
        gap: 24px;
        padding: 20px;
    }

    .menu-page-dish h3 {
        font-size: 16px;
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -.16px;
    }

    .menu-page-dish__actions {
        align-items: center;
    }

    .menu-page-quantity {
        gap: 4px;
    }

    .menu-page-quantity button,
    .menu-page-quantity output {
        width: 42px;
        height: 42px;
    }

    .menu-page-quantity button {
        font-size: 25px;
    }

    .menu-page-quantity output {
        font-size: 15px;
    }

    .menu-page-composition {
        gap: 8px;
        padding: 10px 12px;
        font-size: 14px;
    }

    .menu-page-composition svg {
        width: 18px;
        height: 18px;
    }

    .menu-page-summary {
        display: none;
        height: auto;
        min-height: 0;
        max-height: none;
    }

    .menu-page-mobile-cart {
        position: fixed;
        z-index: 80;
        right: 16px;
        bottom: 16px;
        left: auto;
        width: 126px;
        height: 58px;
        min-height: 58px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 16px 20px;
        border: 0;
        border-radius: 999px;
        box-shadow: 0 8px 28px rgba(16, 25, 19, .2);
        background: #2f7a44;
        color: #fff;
        font: inherit;
        text-align: center;
    }

    .menu-page-mobile-cart[hidden] {
        display: none;
    }

    .menu-page-mobile-cart b {
        flex: 0 0 auto;
        font-size: 16px;
        line-height: 19.2px;
        white-space: nowrap;
    }

    .menu-page-mobile-cart__icon {
        flex: 0 0 16px;
        width: 16px;
        height: 15px;
        object-fit: contain;
    }

    .menu-page-mobile-drawer:not([hidden]) {
        position: fixed;
        z-index: 140;
        inset: 0;
        width: 100%;
        height: 100dvh;
        min-height: 0;
        display: flex;
        flex-direction: column;
        background: #f7f6f1;
        color: #101913;
    }

    .menu-page-mobile-drawer__header {
        box-sizing: border-box;
        flex: 0 0 69px;
        width: 100%;
        height: 69px;
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 15px 16px;
        border-bottom: 1px solid #e6e4dc;
    }

    .menu-page-mobile-drawer__pin {
        flex: 0 0 20px;
        color: #50594f;
    }

    .menu-page-mobile-drawer__header.is-empty {
        gap: 8px;
    }

    .menu-page-mobile-drawer__header.is-empty .menu-page-mobile-drawer__pin,
    .menu-page-mobile-drawer__header.is-empty .menu-page-mobile-drawer__address strong {
        color: #c00000;
    }

    .menu-page-mobile-drawer__address {
        min-width: 0;
        display: grid;
        gap: 1px;
    }

    .menu-page-mobile-drawer__address strong,
    .menu-page-mobile-drawer__address small {
        display: block;
        margin: 0;
        font-family: Geist, sans-serif;
        font-style: normal;
        letter-spacing: -.16px;
        white-space: nowrap;
    }

    .menu-page-mobile-drawer__address strong {
        width: 137px;
        height: 19px;
        transform: translateX(-4px);
        color: #101913;
        font-size: 16px;
        font-weight: 600;
        line-height: 19.2px;
    }

    .menu-page-mobile-drawer__address small {
        color: #50594f;
        font-size: 14px;
        font-weight: 400;
        line-height: 16.8px;
    }

    .menu-page-mobile-drawer__choose {
        box-sizing: border-box;
        flex: 0 0 102px;
        width: 102px;
        height: 45px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin-left: auto;
        padding: 14px 20px;
        border: 0;
        border-radius: 999px;
        background: #2f7a44;
        color: #fff;
        font-family: Geist, sans-serif;
        font-size: 14px;
        font-weight: 600;
        font-style: normal;
        line-height: 16.8px;
        letter-spacing: -.16px;
        text-align: center;
        cursor: pointer;
    }

    .menu-page-mobile-drawer__close {
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
        display: grid;
        place-items: center;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #50594f;
        cursor: pointer;
    }

    .menu-page-mobile-drawer__close:focus {
        outline: none;
    }

    .menu-page-mobile-drawer__body {
        box-sizing: border-box;
        flex: 1 1 auto;
        min-height: 0;
        padding: 28px;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .menu-page-mobile-drawer__body h2 {
        width: 319px;
        height: 19px;
        margin: 0 0 14px;
        color: #101913;
        font-family: Geist, sans-serif;
        font-size: 16px;
        font-weight: 600;
        font-style: normal;
        line-height: 19.2px;
        letter-spacing: -.16px;
    }

    .menu-page-mobile-drawer__lines {
        width: 319px;
        display: grid;
        gap: 12px;
    }

    .menu-page-mobile-drawer__line {
        width: 319px;
        height: 40px;
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr) auto;
        align-items: center;
        gap: 8px;
    }

    .menu-page-mobile-drawer__line img {
        display: block;
        width: 40px;
        height: 40px;
        border-radius: 10px;
        object-fit: cover;
    }

    .menu-page-mobile-drawer__line strong,
    .menu-page-mobile-drawer__line b {
        display: block;
        overflow: hidden;
        color: #101913;
        font-family: Geist, sans-serif;
        font-size: 14px;
        font-style: normal;
        line-height: 16.8px;
        letter-spacing: -.16px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .menu-page-mobile-drawer__line strong {
        font-weight: 400;
    }

    .menu-page-mobile-drawer__line b {
        min-width: 20px;
        font-weight: 600;
        text-align: right;
    }

    .menu-page-mobile-drawer__footer {
        box-sizing: border-box;
        flex: 0 0 136px;
        width: 100%;
        height: 136px;
        padding: 16px;
        border-top: 1px solid #e6e4dc;
        background: #f7f6f1;
    }

    .menu-page-mobile-drawer__total {
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .menu-page-mobile-drawer__total span {
        color: #50594f;
        font-family: Inter, Arial, sans-serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        letter-spacing: -.31px;
    }

    .menu-page-mobile-drawer__total strong {
        color: #101913;
        font-family: Inter, Arial, sans-serif;
        font-size: 20px;
        font-weight: 700;
        line-height: 28px;
        letter-spacing: -.45px;
    }

    .menu-page-mobile-drawer__checkout {
        box-sizing: border-box;
        width: 343px;
        height: 59px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        margin-top: 15px;
        padding: 20px 24px;
        border-radius: 999px;
        background: #2f7a44;
        color: #fff;
        font-family: Geist, sans-serif;
        font-size: 16px;
        font-weight: 600;
        line-height: 19.2px;
        letter-spacing: -.16px;
        text-decoration: none;
    }
}

@media (max-width: 374px) {
    .menu-page-composition span {
        display: none;
    }
}

/* v29: menu page bottom gap only; based on v27 */
.weekly-customer .menu-page-note{display:block;padding:16px;line-height:1.6}.week-reset,.week-restore{background:#f4f8ec;color:#244431;border:1px solid #d8e5c9;border-radius:8px;padding:10px 14px;cursor:pointer}.week-reset{margin:0 0 20px}.week-customer-no-photo{height:220px;display:grid;place-items:center;background:#edf0e5;color:#697765}.weekly-customer .menu-page-dish__body{padding:18px}.weekly-customer .menu-page-dish__body h3{font-size:19px;margin:0 0 8px}.weekly-customer .menu-page-dish__body>p{margin:0 0 12px}.weekly-customer .menu-page-dish__body>small{display:block;margin:8px 0;color:#687260}.weekly-customer .menu-page-dish__actions{flex-wrap:wrap;gap:10px}.weekly-customer .menu-page-dish__actions button{min-height:38px;font-size:13px}.weekly-customer .menu-page-summary{align-self:start;position:sticky;top:90px}.dish-replacement__option small{display:block;margin-top:6px;color:#61725a}.dish-replacement{max-height:86dvh;overflow:auto}.dish-replacement .menu-page-order-line{padding:8px 0}.weekly-customer .menu-page-mobile-cart{justify-content:center;gap:10px}@media(max-width:760px){.weekly-customer .menu-page-set-list{margin-bottom:18px}.weekly-customer .menu-page-summary{position:static}.weekly-customer .menu-page-dish__body h3{font-size:17px}.week-customer-no-photo{height:180px}.dish-replacement{width:calc(100vw - 24px);padding:18px}.dish-replacement h2{font-size:22px}}

.weekly-customer .menu-page-note{height:auto;min-height:0;border-radius:12px;max-width:100%;white-space:normal}.weekly-customer .menu-page-note:before{display:none}

.dish-replacement__option.week-restore-original{display:block;min-height:48px;padding:16px}.week-summary-placeholder{display:block;width:40px;height:40px;border-radius:6px;background:#e7eadf}
@media(min-width:901px){html body.page-menu .weekly-customer .menu-page-set-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:calc(100% - 344px)!important;max-width:calc(100% - 344px)!important;gap:8px!important}html body.page-menu .weekly-customer .menu-page-set{width:100%!important;min-width:0!important;max-width:none!important;padding:16px!important}html body.page-menu .weekly-customer .menu-page-set strong{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:18px!important}}

/* Current weekly menu: natural dimensions replace the fixed export carousel. */
html:root:has(body.page-menu),html:root body.page-menu {overflow-x:visible !important;}
html:root body.page-menu {zoom:1 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] {width:100% !important;min-width:0 !important;max-width:none !important;height:auto !important;min-height:0 !important;max-height:none !important;padding:32px 0 48px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-container {width:calc(100% - 64px) !important;min-width:0 !important;max-width:var(--ui-container,1240px) !important;margin:0 auto !important;padding:0 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set-list {display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;width:100% !important;min-width:0 !important;max-width:none !important;height:auto !important;margin:0 0 32px !important;padding:0 !important;gap:12px !important;overflow:visible !important;scroll-snap-type:none !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set {display:flex !important;flex:1 1 auto !important;flex-direction:column !important;width:100% !important;min-width:0 !important;max-width:none !important;height:auto !important;min-height:130px !important;max-height:none !important;padding:18px !important;gap:10px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set > span {display:grid !important;flex:1 1 auto !important;width:100% !important;min-width:0 !important;height:auto !important;min-height:0 !important;gap:6px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set :is(strong,small,b) {width:auto !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;overflow:visible !important;text-overflow:clip !important;white-space:normal !important;overflow-wrap:anywhere !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set strong {font-size:18px !important;line-height:1.35 !important;letter-spacing:-.3px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set small {font-size:14px !important;line-height:1.45 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set b {flex:0 0 auto !important;font-size:18px !important;line-height:1.4 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-layout {display:grid !important;grid-template-columns:minmax(0,1fr) 300px !important;align-items:start !important;gap:28px !important;width:100% !important;min-width:0 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-catalog {width:100% !important;min-width:0 !important;max-width:100% !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-heading {display:block !important;margin:0 0 20px !important;padding:0 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-heading h1 {width:auto !important;height:auto !important;min-height:0 !important;margin:0 0 10px !important;font-size:clamp(28px,3.4vw,40px) !important;line-height:1.15 !important;overflow-wrap:anywhere !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-heading p {width:auto !important;height:auto !important;font-size:15px !important;line-height:1.5 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-note {width:100% !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;margin:0 0 16px !important;padding:14px 16px !important;font-size:14px !important;line-height:1.5 !important;overflow-wrap:anywhere !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-categories {display:grid !important;width:100% !important;min-width:0 !important;gap:32px !important;padding:0 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-category {width:100% !important;min-width:0 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-category__heading {margin:0 0 16px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-category__heading h2 {width:auto !important;height:auto !important;line-height:1.4 !important;overflow-wrap:anywhere !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dishes {display:grid !important;width:100% !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;grid-template-columns:repeat(auto-fill,minmax(min(100%,248px),1fr)) !important;grid-template-rows:none !important;grid-auto-columns:auto !important;grid-auto-flow:row !important;grid-auto-rows:auto !important;gap:20px !important;overflow:visible !important;scroll-snap-type:none !important;transform:none !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dish {display:flex !important;flex-direction:column !important;grid-column:auto !important;grid-row:auto !important;position:relative !important;width:100% !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;overflow:visible !important;scroll-snap-align:none !important;transform:none !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dish > img {width:100% !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;aspect-ratio:4/3 !important;object-fit:contain !important;border-radius:23px 23px 0 0 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .week-customer-no-photo {width:100% !important;height:auto !important;aspect-ratio:4/3 !important;border-radius:23px 23px 0 0 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dish__body {display:flex !important;flex:1 1 auto !important;flex-direction:column !important;justify-content:flex-start !important;width:100% !important;min-width:0 !important;height:auto !important;min-height:0 !important;max-height:none !important;gap:10px !important;padding:18px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dish__body :is(h3,p,small) {width:auto !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;margin:0 !important;overflow:visible !important;text-overflow:clip !important;white-space:normal !important;overflow-wrap:anywhere !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dish__body h3 {font-size:18px !important;line-height:1.4 !important;font-weight:600 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dish__body > p {font-size:15px !important;line-height:1.45 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dish__actions {display:flex !important;flex-wrap:wrap !important;align-items:center !important;justify-content:flex-start !important;width:100% !important;min-width:0 !important;height:auto !important;margin-top:auto !important;padding-top:6px !important;gap:8px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-dish__actions button {flex:0 1 auto !important;width:auto !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:44px !important;padding:10px 14px !important;font-size:14px !important;line-height:1.4 !important;white-space:normal !important;overflow-wrap:anywhere !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-summary {display:flex !important;position:static !important;top:auto !important;align-self:start !important;width:100% !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;margin:0 !important;padding:0 !important;overflow:visible !important;}
html:root body.page-menu .weekly-customer[data-menu-page] :is(.menu-page-order,.menu-page-order-panel,.menu-page-order-lines,.menu-page-summary__head,.menu-page-summary__head h2,.menu-page-summary__footer) {width:100% !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;overflow:visible !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-order {padding:18px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-order-panel {padding:14px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-summary__head h2 {font-size:17px !important;line-height:1.4 !important;white-space:normal !important;overflow-wrap:anywhere !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-order-lines {display:grid !important;gap:14px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-order-line {display:grid !important;grid-template-columns:40px minmax(0,1fr) !important;align-items:start !important;width:100% !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:40px !important;max-height:none !important;gap:10px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-order-copy {display:grid !important;width:auto !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;gap:5px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-order-copy :is(strong,small) {display:block !important;width:auto !important;min-width:0 !important;max-width:100% !important;height:auto !important;min-height:0 !important;max-height:none !important;font-size:14px !important;line-height:1.45 !important;white-space:normal !important;overflow:visible !important;text-overflow:clip !important;overflow-wrap:anywhere !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-summary__footer {padding:18px !important;flex:0 0 auto !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-summary__total :is(span,strong) {width:auto !important;height:auto !important;white-space:nowrap !important;line-height:1.4 !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-checkout {padding:14px !important;min-height:48px !important;height:auto !important;line-height:1.4 !important;text-align:center !important;white-space:normal !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-mobile-cart {display:none !important;}
html:root body.page-menu .weekly-customer[data-menu-page] button:focus-visible {outline:3px solid #99601b !important;outline-offset:3px !important;}
@media(max-width:1099px){
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-layout {grid-template-columns:minmax(0,1fr) !important;gap:32px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-summary {display:flex !important;position:static !important;}
}
@media(max-width:700px){
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-container {width:calc(100% - 36px) !important;}
}
@media(max-width:575px){
html:root body.page-menu .weekly-customer[data-menu-page] {padding-top:20px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set-list {grid-template-columns:minmax(0,1fr) !important;gap:8px !important;margin-bottom:24px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set {flex-direction:row !important;align-items:center !important;min-height:80px !important;padding:14px 16px !important;gap:16px !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set b {white-space:nowrap !important;}
html:root body.page-menu .weekly-customer[data-menu-page] .menu-page-set strong {font-size:17px !important;}
}

html body .weekly-customer .menu-page-set strong{display:flex!important;align-items:center!important;gap:7px!important}
html body .set-people-icon{display:block;flex:none;width:28px!important;height:22px!important}
@media(max-width:450px){html body .weekly-customer .menu-page-set strong{gap:4px!important}html body .set-people-icon{width:21px!important;height:20px!important}}
