html, body { height: 100%; overflow: hidden; }
.menu-app .demo-hand { animation: none !important; transition: none !important; transform-origin: 19px 8px; }
.tour-guide-layer { position: fixed; inset: 0; z-index: 60; overflow: hidden; pointer-events: none; isolation: isolate; }
.table-demo .marker { visibility: hidden; }
.table-demo-people { position: absolute; top: 58px; inset-inline: 10px; z-index: 4; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; pointer-events: none; }
.table-demo-person { display: flex; flex-wrap: nowrap; align-items: center; gap: 3px; min-width: 0; min-height: 30px; padding: 4px; border: 1px solid transparent; border-radius: 8px; background: #fff9f4ed; box-shadow: 0 1px 4px #35292312; }
.table-demo-person[data-focus=true] { border-color: var(--person-color); }
.table-demo-person b { display: grid; place-items: center; width: 16px; height: 16px; flex: none; border-radius: 50%; background: var(--person-color); color: white; font-size: 10px; }
.table-demo-person img { width: 20px; height: 20px; flex: none; object-fit: cover; border-radius: 5px; }
.table-demo-person span { flex: 1; font-size: 9px; line-height: 1.3; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.table-demo-message { position: absolute; bottom: 70px; inset-inline: 12px; z-index: 4; width: fit-content; max-width: calc(100% - 24px); margin: 0; padding: 4px 8px; border-radius: 12px; background: #fff9f4ed; color: #352923; font-size: 11px; line-height: 1.5; pointer-events: none; }
.table-demo-presence { position: absolute; inset: 0; z-index: 4; pointer-events: none; }
.table-demo-point { position: absolute; display: grid; place-items: center; width: 23px; height: 23px; transform: translate(-50%,-50%); border: 2px solid #fff9f4; border-radius: 50%; background: var(--person-color); color: white; font-size: 12px; line-height: 1; box-shadow: 0 1px 4px #35292333; }
.table-demo-point[data-focus=true] { box-shadow: 0 0 0 4px #fff9f4,0 0 0 6px var(--person-color); }
.table-demo-point.table-demo-shared { width: 48px; height: 48px; background: #fff9f4; border: 0; box-shadow: none; color: #352923; }
.table-demo-shared svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.table-demo-shared b { font-size: 13px; }
@container (max-width: 320px) {
  .table-demo-people { top: 48px; inset-inline: 6px; gap: 3px; }
  .table-demo-person img { width: 16px; height: 16px; }
  .table-demo-person b { width: 14px; height: 14px; font-size: 9px; }
  .table-demo-person { gap: 2px; padding: 3px; min-height: 26px; }
  .table-demo-person span { font-size: 8px; }
  .table-demo-message { bottom: 54px; font-size: 10px; }
}
.menu-app .field { overflow: hidden; }
.menu-app .marker { transition: none !important; }
.grid-view .menu-shell {
  --taste-grid-min-height: 170px;
  --grid-photo-size: min(600px, 100cqw, calc(100dvh - var(--page-top) - var(--page-bottom) - var(--control-height) - var(--taste-grid-min-height) - 16px));
  height: calc(100dvh - var(--page-top) - var(--page-bottom));
  min-height: 0;
}
.grid-view .grid-product-card { max-width: 100%; container-type: inline-size; }
@container (max-width: 320px) {
  .grid-product-card .grid-product-purchase { padding: 8px; }
  .grid-product-card .grid-add-bar { gap: 6px; padding-inline: 6px; }
  .grid-product-card .grid-add-action { width: 32px; height: 32px; padding: 4px; }
  .grid-product-card .grid-add-action-label { display: none; }
  .grid-product-card .grid-add-bar .grid-add-name { font-size: 11px; }
  .grid-product-card .grid-add-bar .offer-price-compact b { font-size: 13px; }
  .grid-product-card .menu-heading { inset-inline: 6px; top: 6px; gap: 4px; }
  .grid-product-card .menu-identity { padding: 4px; gap: 4px; }
  .grid-product-card .menu-identity strong { white-space: normal; font-size: 10px; line-height: 1.4; }
  .grid-product-card .menu-establishment-image { width: 28px; height: 28px; }
  .grid-product-card .menu-utility-button { width: 32px; height: 32px; padding: 6px; }
}
.KGhbnG_view.cards-view { --page-top: 8px; }
.KGhbnG_handle { display: none; }
.product-carousel-track { position: relative; }
.product-carousel-track > .product-slide { position: absolute; inset: 0; width: 100%; translate: none; }
.product-carousel-track .demo-hand { z-index: 2; }
@media (max-height: 520px) and (min-aspect-ratio: 6/5) {
  .grid-view .menu-shell {
    --taste-grid-min-height: 120px;
    --grid-photo-size: min(calc(100dvh - var(--page-top) - var(--page-bottom)), calc((100cqw - 8px) / 2));
    width: 100%;
    max-width: 900px;
    height: calc(100dvh - var(--page-top) - var(--page-bottom));
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: var(--control-height) minmax(0, 1fr);
  }
  .grid-view .grid-product-card { grid-area: 1 / 1 / 3 / 2; align-self: center; width: var(--grid-photo-size); }
  .grid-view .toolbar-frame { grid-area: 1 / 2; }
  .grid-view .grid-controls { grid-area: 2 / 2; }
  .grid-view .grid-panel, .grid-view .grid-controls { min-height: 0; }
  .grid-view .menu-identity strong { font-size: 11px; }
  .full-menu { --page-top: 8px; --page-bottom: 8px; }
  .full-menu .menu-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 44px minmax(0, 1fr); gap: 8px 16px; max-width: 900px; height: calc(100dvh - 16px); min-height: 0; }
  .full-menu .menu-heading { grid-area: 1 / 1; }
  .full-menu .menu-navigation { grid-area: 2 / 1; align-self: start; position: static; padding: 0; gap: 8px; }
  .full-menu .menu-navigation::after { display: none; }
  .full-menu .menu-sections { grid-area: 1 / 2 / 3 / 3; display: block; min-height: 0; overflow: hidden; }
  .menu-app.full-menu .catalog-section { padding-top: 0; }
  .full-menu .catalog-group-heading { margin-block: 0 8px; }
  .full-menu .catalog-card { gap: 4px 8px; padding: 6px; }
  .full-menu .catalog-name { font-size: 14px; }
  .cards-view > .menu-shell { max-width: 900px; }
  .KGhbnG_view.cards-view > .KGhbnG_shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 4px 8px; }
  .KGhbnG_topbar { grid-area: 1 / 1; }
  .KGhbnG_view > .KGhbnG_shell > .toolbar-frame { grid-area: 1 / 2; margin: 0; }
  .KGhbnG_heading[data-expanded=true] { margin-bottom: 0; }
  .cards-browser { grid-area: 2 / 1 / 3 / 3; }
  .cards-view .product-carousel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .8fr); grid-template-rows: minmax(0, 1fr) auto; gap: 4px 12px; }
  .product-carousel-stage { grid-area: 1 / 1 / 3 / 2; }
  .product-carousel-navigation { grid-area: 1 / 2; align-self: end; }
  .product-carousel-purchase { grid-area: 2 / 2; }
  .product-carousel-track > .product-slide { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; }
  .product-slide-copy { padding: 0; }
  .product-slide-heading h3 { font-size: 16px; }
}
.service-sheet[data-mode=handoff] [data-demo-action=preorder],
.service-sheet[data-mode=preorder] [data-demo-action=qr]{display:none}
@media(max-height:520px) and (min-aspect-ratio:6/5){
  .service-sheet .service-panel[data-panel=bill] .bill-summary{height:calc(100% - 50px)}
  .service-sheet .bill-person-order .service-lines>li{gap:6px;padding:4px}
  .service-sheet .bill-person-order .itemName{font-size:12px;line-height:1.4}
  .service-sheet .bill-person-order .itemName small{font-size:9px;line-height:1.4}
  .service-sheet .bill-person-order .itemAmount{font-size:11px}
}
