body { margin: 0px; }
button, select { cursor: pointer; }
img { max-width: 100%; }
@font-face { font-family: "IBM Plex Sans Arabic"; font-style: normal; font-display: swap; font-weight: 400; src: url("assets/ibm-plex-sans-arabic-arabic-400-normal.woff2") format("woff2"); unicode-range: U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "IBM Plex Sans Arabic"; font-style: normal; font-display: swap; font-weight: 400; src: url("assets/ibm-plex-sans-arabic-latin-400-normal.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans Arabic"; font-style: normal; font-display: swap; font-weight: 500; src: url("assets/ibm-plex-sans-arabic-arabic-500-normal.woff2") format("woff2"); unicode-range: U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "IBM Plex Sans Arabic"; font-style: normal; font-display: swap; font-weight: 500; src: url("assets/ibm-plex-sans-arabic-latin-500-normal.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans Arabic"; font-style: normal; font-display: swap; font-weight: 600; src: url("assets/ibm-plex-sans-arabic-arabic-600-normal.woff2") format("woff2"); unicode-range: U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "IBM Plex Sans Arabic"; font-style: normal; font-display: swap; font-weight: 600; src: url("assets/ibm-plex-sans-arabic-latin-600-normal.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Sans Arabic"; font-style: normal; font-display: swap; font-weight: 700; src: url("assets/ibm-plex-sans-arabic-arabic-700-normal.woff2") format("woff2"); unicode-range: U+600-6FF, U+750-77F, U+870-88E, U+890-891, U+897-8E1, U+8E3-8FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
@font-face { font-family: "IBM Plex Sans Arabic"; font-style: normal; font-display: swap; font-weight: 700; src: url("assets/ibm-plex-sans-arabic-latin-700-normal.woff2") format("woff2"); unicode-range: U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Cascadia Numbers"; font-style: normal; font-weight: 400; font-display: swap; src: url("assets/cascadia-code-latin-400-normal.woff2") format("woff2"); unicode-range: U+25, U+2C-39; }
@font-face { font-family: "Cascadia Numbers"; font-style: normal; font-weight: 700; font-display: swap; src: url("assets/cascadia-code-latin-700-normal.woff2") format("woff2"); unicode-range: U+25, U+2C-39; }
:root { --lightningcss-light: initial; --lightningcss-dark: ; color-scheme: light; --background: #fff; --foreground: #171717; --surface: #f5f5f5; --soft: #e8e8e8; --muted: #737373; --dot: #a3a3a3; --axis: #737373; --control: #404040; --inverse: #fff; --line: #dedede; }
* { box-sizing: border-box; }
body { background: var(--background); color: var(--foreground); margin: 0px; font-family: "Cascadia Numbers", "IBM Plex Sans Arabic", Arial, sans-serif; }
button { font: inherit; color: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; background: 0px 0px; border: 0px; }
button:focus-visible { outline: 2px solid var(--foreground); outline-offset: 4px; }
.menu-app { --page-top: max(16px,env(safe-area-inset-top,0px)); --page-bottom: calc(12px + env(safe-area-inset-bottom,0px)); min-height: 100dvh; padding: var(--page-top) max(12px,env(safe-area-inset-right,0px)) var(--page-bottom) max(12px,env(safe-area-inset-left,0px)); }
.menu-shell { max-width: 600px; min-height: calc(100dvh - var(--page-top) - var(--page-bottom)); flex-direction: column; gap: 16px; margin: auto; display: flex; }
.segments { background: var(--soft); border-radius: 99px; gap: 3px; padding: 5px; display: flex; }
.segments button { border-radius: 99px; flex: 1 1 0%; min-height: 44px; font-size: 14px; font-weight: 600; }
.segments button[aria-pressed="true"] { background: var(--foreground); color: var(--inverse); }
h1 { overflow-wrap: anywhere; margin: 0px 0px 8px; font-size: clamp(20px, 4.4vw, 30px); font-weight: 700; line-height: 1.25; }
.price { white-space: nowrap; font-variant-numeric: tabular-nums; align-items: baseline; gap: 5px; display: inline-flex; }
.price b { font-size: clamp(18px, 4vw, 28px); font-weight: 400; }
.toolbar { direction: ltr; align-items: center; gap: 12px; display: flex; }
.round { background: var(--soft); border-radius: 50%; flex-shrink: 0; place-items: center; width: 52px; height: 52px; font-weight: 700; display: grid; }
.modes { flex: 1 1 0%; min-width: 0px; }
.cart-button { position: relative; }
.count { background: var(--foreground); color: var(--inverse); border: 2px solid var(--background); border-radius: 20px; place-items: center; min-width: 22px; height: 22px; font-size: 11px; display: grid; position: absolute; top: -3px; right: -2px; }
.grid-panel { background: var(--surface); border-radius: 32px; margin-top: 0px; padding: 10px 8px 6px; }
.field { aspect-ratio: 1 / 1; user-select: none; position: relative; }
.dot-grid { touch-action: none; cursor: grab; direction: ltr; position: absolute; inset: calc(9.8% + 14px); }
.dot { aspect-ratio: 1 / 1; background: var(--dot); pointer-events: none; border-radius: 50%; width: 3.53925px; position: absolute; transform: translate(-50%, -50%); }
.dot.axis { background: var(--axis); width: 3.82239px; }
.marker { aspect-ratio: 1 / 1; background: var(--control); touch-action: none; cursor: grab; border-radius: 50%; width: 15%; padding: 0px; transition: left 0.16s ease-out, top 0.16s ease-out; position: absolute; transform: translate(-50%, -50%); }
.label { color: var(--foreground); white-space: nowrap; font-size: 12px; font-weight: 500; position: absolute; }
.hot { top: 0px; left: 50%; transform: translate(-50%); }
.cold { bottom: 0px; left: 50%; transform: translate(-50%); }
.bitter { writing-mode: vertical-rl; top: 50%; left: 0px; transform: translateY(-50%) rotate(180deg); }
.sweet { writing-mode: vertical-rl; top: 50%; right: 0px; transform: translateY(-50%); }
@media (max-width: 420px) {
.menu-shell { gap: 12px; }
.toolbar { gap: 8px; }
.round { width: 44px; height: 44px; }
.segments button { font-size: 13px; }
.price b { font-size: 20px; }
.grid-panel { border-radius: 26px; }
}
@media (prefers-reduced-motion: reduce) {
.marker { transition: none; }
}
.menu-app { --reading-direction: rtl; }
.product-info h1, .category-label, .water-note, .list-select, .price, .sheet h2, .cart-row h3, .cart-row small, .details p, .receipt-note, .empty, .grid-caption, .label, .metric > span, .total > span { direction: var(--reading-direction); }
.modes { isolation: isolate; position: relative; }
.menu-app.grid-view, .menu-app.full-menu { animation: 0.22s ease-out 0s 1 normal none running menu-enter; }
@media (prefers-reduced-motion: reduce) {
.menu-app.grid-view, .menu-app.full-menu { animation: auto ease 0s 1 normal none running none; }
main.menu-app, .modes .mode-thumb, .modes a, .full-menu > .menu-shell, .pull-indicator svg { transition: none; }
}
.menu-app { --control-height: 52px; --compact-control-width: 60px; --control-inset: 5px; }
.grid-controls { direction: ltr; grid-template-columns: clamp(76px, 22vw, 100px) minmax(0px, 1fr); gap: 8px; min-width: 0px; display: grid; }
.toolbar .cart-button { direction: ltr; border-radius: 99px; justify-content: center; align-items: center; gap: 8px; width: auto; min-width: 84px; padding: 0px 12px; display: flex; }
.cart-button .count { min-width: 2ch; height: auto; color: inherit; font-variant-numeric: tabular-nums; background: 0px 0px; border: 0px; font-size: 14px; position: static; }
@media (max-width: 420px) {
.menu-app { --control-height: 44px; }
}
.grid-view { --page-top: max(8px, env(safe-area-inset-top,0px)); --page-bottom: max(12px, env(safe-area-inset-bottom,0px)); min-height: 100svh; container-type: inline-size; }
.grid-view .menu-shell { --grid-photo-size: min(600px, 100cqw); --taste-grid-min-height: 176px; width: 100%; height: calc(100svh - var(--page-top) - var(--page-bottom)); min-height: calc(var(--grid-photo-size) + var(--control-height) + var(--taste-grid-min-height) + 16px); grid-template-rows: var(--grid-photo-size) var(--control-height) minmax(var(--taste-grid-min-height), 1fr); gap: 8px; display: grid; }
.grid-view .grid-product-card { width: var(--grid-photo-size); aspect-ratio: 1 / 1; place-self: start center; height: auto; min-height: 0px; }
.grid-view .toolbar-frame { align-self: center; }
.grid-view .grid-controls { min-height: var(--taste-grid-min-height); }
.grid-view .grid-panel { min-height: var(--taste-grid-min-height); place-items: center; padding: 2px; display: grid; container: taste-grid / size; }
.grid-view .field { --grid-dot-inset: 32px; aspect-ratio: 1 / 1; width: min(100cqw, 100cqh); margin: 0px; padding: 0px; }
.grid-view .dot-grid { inset: var(--grid-dot-inset); margin: 0px; position: absolute; }
.grid-view .label { line-height: 14px; }
.grid-view .marker { width: 44px; }
@container taste-grid (max-height: 210px) {
.grid-view .field { --grid-dot-inset: 28px; }
.grid-view .label { line-height: 12px; }
.grid-view .magnetic-marker-face, .grid-view .grid-guide-dot { inset: 6px; }
}
.grid-add-bar { width: 100%; min-width: 0px; min-height: var(--control-height); background: var(--foreground); color: var(--inverse); direction: var(--reading-direction); text-align: start; border-radius: 99px; align-items: center; gap: 10px; padding: 6px 16px; display: flex; }
.grid-add-symbol { background: var(--grid-plus-background,var(--inverse)); width: 32px; height: 32px; color: var(--grid-plus-color,var(--foreground)); border-radius: 50%; flex: 0 0 auto; place-items: center; font-size: 26px; line-height: 1; display: grid; }
.grid-add-name { overflow-wrap: anywhere; flex: 1 1 0%; min-width: 0px; font-size: 14px; font-weight: 600; line-height: 1.4; }
.grid-add-bar .price { flex-wrap: wrap; flex: 0 0 auto; justify-content: flex-end; gap: 3px; max-width: 45%; }
.grid-add-bar .price b { font-size: 17px; font-weight: 600; }
.grid-product-card { isolation: isolate; aspect-ratio: 1 / 1; background: rgb(255, 255, 255); border-radius: 8%; min-width: 0px; min-height: 320px; position: relative; overflow: hidden; }
.grid-product-heading { clip-path: inset(50%); white-space: nowrap; width: 1px; height: 1px; margin: -1px; position: absolute; overflow: hidden; }
.grid-product-photo { width: 100%; min-width: 0px; height: 100%; min-height: 0px; position: absolute; inset: 0px; }
.grid-product-image { width: 100%; height: 100%; padding: 0px; display: block; overflow: hidden; }
.grid-product-image img { object-fit: cover; object-position: center center; width: 100%; height: 100%; display: block; }
.grid-product-image:focus-visible { outline-offset: -5px; }
.grid-product-purchase { bottom: 0px; pointer-events: none; padding: 12px; position: absolute; inset-inline: 0px; }
.grid-product-purchase .grid-add-bar { pointer-events: auto; color: rgb(23, 23, 23); --grid-plus-background: #171717; --grid-plus-color: #fff; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.24) 0px 5px 18px, rgba(0, 0, 0, 0.1) 0px 0px 6px; }
@media (max-width: 600px) {
.grid-view .grid-product-card { aspect-ratio: 1 / 1; height: auto; min-height: 0px; }
}
.grid-view .grid-panel .label { font-weight: 700; }
.grid-view .label[data-axis-tone="hot"] { color: rgb(229, 57, 53); }
.grid-view .label[data-axis-tone="cold"] { color: rgb(30, 136, 229); }
.grid-view .label[data-axis-tone="bitter"] { color: rgb(156, 116, 85); }
.grid-view .label[data-axis-tone="sweet"] { color: rgb(171, 71, 188); }
button, a, input, textarea, select { font: inherit; }
button, a { touch-action: manipulation; }
.menu-heading { min-width: 0px; direction: var(--reading-direction,rtl); justify-content: space-between; align-items: center; gap: 8px; display: flex; }
.menu-identity { color: rgb(23, 23, 23); background: rgba(255, 255, 255, 0.92); border-radius: 18px; flex: 0 1 auto; align-items: center; gap: 6px; min-width: 0px; max-width: 100%; min-height: 44px; padding: 8px 12px; display: flex; box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 10px; }
.menu-identity strong { text-overflow: ellipsis; white-space: nowrap; min-width: 0px; font-size: clamp(12px, 3.4vw, 16px); line-height: 1.5; overflow: hidden; }
.menu-identity.menu-identity-with-image { min-height: var(--control-height,52px); border-radius: 99px; gap: 8px; padding-block: 0px; padding-inline: 0px 12px; }
.menu-establishment-image { width: var(--control-height,52px); height: var(--control-height,52px); object-fit: cover; background: rgb(255, 255, 255); border-radius: 50%; flex: 0 0 auto; display: block; }
.menu-heading-actions { flex: 0 0 auto; align-items: center; gap: 6px; display: flex; }
.grid-product-card > .menu-heading { --menu-heading-control-size: calc(var(--control-height,52px) * .8); top: 10px; z-index: 3; pointer-events: none; position: absolute; inset-inline: 10px; }
.grid-product-card > .menu-heading :is(.menu-identity, .menu-heading-actions) { pointer-events: auto; }
.grid-product-card .menu-identity { min-height: var(--menu-heading-control-size); padding-block: 5.6px; }
.grid-product-card .menu-identity-with-image { min-height: var(--menu-heading-control-size); padding-block: 0px; }
.grid-product-card .menu-establishment-image { width: var(--menu-heading-control-size); height: var(--menu-heading-control-size); }
.grid-product-card > .grid-product-photo { position: absolute; inset: 0px; }
@media (max-width: 360px) {
.grid-product-card > .menu-heading { top: 8px; gap: 5px; inset-inline: 8px; }
.menu-identity { gap: 4px; padding: 8px; }
.menu-heading-actions { gap: 4px; }
}
@media (min-width: 600px) and (max-height: 600px) and (orientation: landscape) {
.grid-view .menu-shell { --taste-grid-min-height: 240px; --landscape-width: min(1000px,100cqw,calc(200svh - var(--page-top) - var(--page-top) - var(--page-bottom) - var(--page-bottom) + 8px)); width: var(--landscape-width); max-width: none; height: calc((var(--landscape-width) - 8px)/2); min-height: calc(var(--control-height) + 248px); grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); grid-template-rows: var(--control-height) minmax(240px,1fr); }
.grid-view .grid-product-card { grid-area: 1 / 1 / 3; width: 100%; }
.grid-view .toolbar-frame { grid-area: 1 / 2; }
.grid-view .grid-controls { grid-area: 2 / 2; }
}
.menu-symbol { flex: 0 0 auto; width: 24px; height: 24px; display: block; }
.toolbar .modes > button { justify-content: center; align-items: center; display: flex; }
.toolbar-frame { width: 100%; min-width: 0px; container: menu-toolbar / inline-size; }
.menu-app .toolbar { height: var(--control-height); gap: 8px; width: 100%; min-width: 0px; }
.toolbar > .round { width: var(--control-height); height: var(--control-height); padding: 0px; }
.toolbar > .modes { height: var(--control-height); border-radius: 99px; flex-wrap: nowrap; gap: 0px; min-width: 88px; margin: 0px; padding: 0px; }
.toolbar .modes > button { isolation: isolate; min-width: 0px; height: 100%; min-height: 44px; color: var(--foreground); background: 0px 0px; border-radius: 99px; flex: 1 1 0px; gap: 4px; padding: 0px 8px; position: relative; }
.toolbar .modes > button::before { content: ""; z-index: -1; background: 0px 0px; border-radius: 99px; transition: background 0.16s; position: absolute; inset: 4px; }
.toolbar .modes > button[aria-pressed="true"] { color: var(--inverse); flex-grow: 1.8; }
.toolbar .modes > button > .menu-symbol { flex: 0 1 calc(var(--control-height) - 16px); min-width: 0px; }
.toolbar .modes > button[aria-pressed="true"]::before { background: var(--foreground); }
.menu-app .menu-cart-button { width: auto; min-width: 64px; height: var(--control-height); direction: ltr; border-radius: 99px; justify-content: center; align-items: center; gap: 6px; padding: 0px 10px; display: flex; }
.grid-add-symbol { color: inherit; background: 0px 0px; border-radius: 0px; }
.grid-add-symbol .menu-symbol { width: 34px; height: 34px; }
@media (prefers-reduced-motion: reduce) {
.toolbar .modes > button::before { transition: none; }
}
.catalog-offers-link::after, .menu-app .menu-search-button::after { content: ""; pointer-events: none; background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.08) 24%, rgba(255, 255, 255, 0.44) 48%, rgba(255, 255, 255, 0.17) 52%, rgba(0, 0, 0, 0)); width: 45%; animation: 4s ease-in-out 0s infinite normal none running catalog-offer-shine; position: absolute; inset: -50% auto -50% 0px; transform: translate(400%) skew(-20deg); }
@media (prefers-reduced-motion: reduce) {
.catalog-offers-link::after, .menu-app .menu-search-button::after { animation: auto ease 0s 1 normal none running none; display: none; }
}
.toolbar .mode-label { text-align: center; min-width: 0px; direction: var(--reading-direction); pointer-events: none; flex: 1 1 0%; align-self: center; font-size: 12px; font-weight: 600; line-height: 1.4; }
.toolbar > .modes { min-width: 120px; }
@container menu-toolbar (max-width: 400px) {
.toolbar { --control-height: 44px; }
}
@container menu-toolbar (max-width: 316px) {
.menu-app .toolbar { gap: 4px; }
.toolbar > .modes { min-width: 112px; }
.toolbar .mode-label { font-size: 11px; }
.menu-app .toolbar > .menu-cart-button { gap: 4px; min-width: 52px; padding-inline: 6px; }
}
.magnetic-grid .marker { z-index: 2; background: 0px 0px; transition: left 0.28s cubic-bezier(0.22, 1, 0.36, 1), top 0.28s cubic-bezier(0.22, 1, 0.36, 1); }
.magnetic-marker-face { background: var(--control); box-shadow: 0 0 0 2px var(--surface),0 0 0 3px color-mix(in srgb,var(--control) 28%,transparent); pointer-events: none; border-radius: 50%; position: absolute; inset: 0px; }
.magnetic-marker-face::after { content: ""; background: var(--inverse); border-radius: 50%; width: 4px; height: 4px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.magnetic-grid .dot { transition: transform 0.11s ease-out, background 0.11s ease-out; }
.magnetic-grid .dot.nearby { background: var(--axis); transform: translate(-50%, -50%) scale(1.3); }
.grid-view .grid-panel { position: relative; }
@media (prefers-reduced-motion: reduce) {
.magnetic-grid .marker, .magnetic-grid.dragging .marker, .magnetic-grid .dot { transition: none; }
}
.menu-heading { direction: ltr; }
.menu-identity { direction: var(--reading-direction); }
.grid-add-bar { direction: rtl; }
.grid-add-name { direction: var(--reading-direction); text-align: start; }
.quantity-action-icon { pointer-events: none; place-items: center; display: grid; }
.quantity-action-icon > .menu-symbol { width: 27px; height: 27px; }
.grid-product-image, .product-slide-photo, .cart-photo { position: relative; }
.menu-language-picker { background: var(--soft); max-width: 155px; min-height: 44px; color: var(--foreground); cursor: pointer; direction: ltr; border-radius: 99px; flex-shrink: 0; justify-content: center; align-items: center; gap: 7px; padding: 8px 12px; display: inline-flex; position: relative; }
.menu-language-picker > .menu-symbol { flex: 0 0 auto; width: 23px; height: 23px; }
.menu-language-picker select { opacity: 0; cursor: pointer; width: 100%; height: 100%; position: absolute; inset: 0px; }
.menu-language-picker:focus-within { outline: 2px solid var(--foreground); outline-offset: 3px; }
.toolbar > .menu-language-picker { height: var(--control-height); flex: 0 1 110px; gap: 5px; min-width: 70px; padding: 6px 8px; }
.toolbar > .menu-language-picker.icon-only { width: var(--control-height); min-width: var(--control-height); max-width: var(--control-height); height: var(--control-height); flex: 0 0 var(--control-height); border-radius: 50%; padding: 0px; }
@media (max-width: 420px) {
.menu-language-picker { gap: 5px; padding: 7px 9px; }
.menu-language-picker > .menu-symbol { width: 20px; height: 20px; }
.toolbar > .menu-language-picker { min-width: 64px; }
}
.offer-price { flex-wrap: wrap; align-items: baseline; gap: 6px; display: flex; }
.onway-observed-product { width: 100%; min-width: 0px; }
.catalog-card > .onway-observed-product, .menu-shell > .onway-observed-product, .product-slide > .onway-observed-product { display: contents; }
.grid-add-bar { min-height: calc(var(--control-height) * .8); direction: rtl; grid-template-columns: auto minmax(0px, 1fr) max-content; align-items: center; padding-block: 4.8px; display: grid; }
.grid-add-bar .grid-add-name { text-align: right; grid-area: 1 / 2; grid-template-columns: minmax(0px, 1fr); justify-items: right; min-width: 0px; display: grid; }
.grid-add-product-name { text-overflow: ellipsis; white-space: nowrap; max-width: 100%; overflow: hidden; }
.grid-add-action { color: rgb(255, 255, 255); background: rgb(23, 23, 23); border-radius: 99px; flex: 0 0 auto; grid-area: 1 / 1; justify-content: center; align-items: center; gap: 8px; width: 156px; height: 41.6px; padding: 6.4px 12px; display: flex; }
.grid-add-action .grid-add-symbol { width: 25.6px; height: 25.6px; }
.grid-add-action .grid-add-symbol .menu-symbol { width: 27.2px; height: 27.2px; }
.grid-add-action:disabled { opacity: 0.5; cursor: not-allowed; }
.grid-add-action .grid-add-symbol .menu-symbol { color: inherit; }
.grid-add-action-label { min-width: 0px; direction: var(--reading-direction); text-align: center; flex: 1 1 0%; font-size: 13px; font-weight: 700; line-height: 1.3; }
.grid-add-bar .offer-price-compact { text-align: left; direction: ltr; flex-flow: wrap; flex: 0 0 auto; grid-area: 1 / 3; justify-content: flex-start; align-items: baseline; gap: 3px 6px; max-width: none; line-height: 1.2; display: flex; }
.grid-add-bar .offer-price-compact b { font-size: 18px; line-height: 1.2; }
.offer-current-price, .offer-original-price { white-space: nowrap; justify-content: flex-end; align-items: baseline; gap: 4px; display: flex; }
@media (max-width: 480px) {
.grid-add-bar { gap: 8px; padding-inline: 10px; }
.grid-add-bar .grid-add-name { font-size: 13px; }
.grid-add-bar .offer-price-compact { gap: 3px 4px; }
.grid-add-bar .offer-price-compact b { font-size: 14px; }
.grid-add-action { gap: 6px; width: 96px; height: 35.2px; padding: 4.8px 8px; }
.grid-add-action-label, .grid-add-action .offer-copy-compact .offer-badge { font-size: 12px; }
.grid-add-action .grid-add-symbol, .grid-add-action .grid-add-symbol .menu-symbol { width: 20.8px; height: 20.8px; }
}
@media (max-width: 360px) {
.grid-add-bar { gap: 6px; padding-inline: 8px; }
.grid-add-bar .grid-add-name { font-size: 12px; }
.grid-add-bar .offer-price-compact { flex-direction: column; align-items: flex-start; }
.grid-add-bar .offer-price-compact b { font-size: 14px; }
.grid-add-action { width: 88px; }
.grid-add-action .grid-add-symbol, .grid-add-action .grid-add-symbol .menu-symbol { width: 17.6px; height: 17.6px; }
}
.menu-app .menu-search-button { isolation: isolate; position: relative; overflow: hidden; }
.menu-app .menu-search-button > .menu-symbol { z-index: 1; position: relative; }
.menu-heading-actions .menu-utility-button { width: var(--menu-heading-control-size,44px); height: var(--menu-heading-control-size,44px); background: var(--background); color: var(--foreground); border: 1px solid var(--line); border-radius: 50%; flex: 0 0 auto; place-items: center; padding: 0px; display: grid; box-shadow: rgba(0, 0, 0, 0.043) 0px 2px 8px; }
.grid-product-card .menu-utility-button .menu-symbol { width: calc(var(--menu-heading-control-size) * .55); height: calc(var(--menu-heading-control-size) * .55); }
@media (max-width: 420px) {
.menu-heading-actions { gap: 4px; }
}
.grid-photo-layers, .grid-photo-layer { pointer-events: none; display: block; position: absolute; inset: 0px; }
.grid-photo-layer { opacity: 0; }
.grid-photo-layer[data-ready="true"] { opacity: 1; animation: 0.28s cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal both running grid-photo-enter; }
.menu-app .grid-add-product-name { animation: 0.28s cubic-bezier(0.22, 1, 0.36, 1) 0s 1 normal both running grid-name-enter; }
@media (prefers-reduced-motion: reduce) {
.grid-photo-layer[data-ready="true"], .menu-app .grid-add-product-name { animation: auto ease 0s 1 normal none running none; }
}
.menu-app, .owner-login { --muted: #626262; --customer-accent: #15803d; --customer-accent-ink: #fff; --customer-offer-fill: #dcebe1; --customer-offer-ink: #25583c; --customer-add-fill: var(--customer-control-fill); --customer-add-ink: var(--foreground); --customer-increase: var(--foreground); --customer-increase-fill: var(--customer-control-selected); --customer-increase-ink: var(--inverse); --customer-decrease: var(--foreground); --customer-decrease-fill: transparent; --customer-decrease-ink: var(--foreground); --customer-accent-rim: inset 0 1px 1px #ffffffa6, inset 0 -1px 2px #0000001a, 0 1px 3px #00000014; --customer-control-fill: linear-gradient(165deg, #fafafaf5, #f0f0f0f0); --customer-control-edge: #0000000d; --customer-control-rim: inset 0 1px 1px #fffffff2, inset 1px 0 1px #ffffff8c, inset 0 -1px 2px #0000000a, 0 1px 2px #00000008; --customer-control-hover: linear-gradient(165deg, #f5f5f5, #e8e8e8); --customer-control-press: linear-gradient(165deg, #e6e6e6, #efefef); --customer-control-pressed-rim: inset 0 1px 3px #0000001f, inset 0 -1px 0 #ffffffbf; --customer-control-selected: linear-gradient(165deg, #363636, #171717); --customer-control-selected-text: #fff; --customer-control-selected-rim: inset 0 1px 1px #ffffff40, inset 0 -1px 1px #0000003d, 0 1px 2px #00000014; }
.menu-app :is(.menu-identity, .menu-utility-button, .menu-language-picker, .menu-cart-button, .product-info-button, .carousel-sections-button, .product-carousel-navigation button, .close, .back-to-cart, .subcategory-filters button, .catalog-add, .product-like-control button, .search-empty button, .grid-guide-help, .carousel-recommendation-details, .carousel-section-option, .carousel-subsections button) { background: var(--customer-control-fill); color: var(--foreground); border: 1px solid var(--customer-control-edge); box-shadow: var(--customer-control-rim); border-radius: 999px; transition: box-shadow 0.1s; }
.menu-app :is(.toolbar > .modes, .catalog-section-links, .grid-sections, .quantity) { background: var(--customer-control-fill); box-shadow: var(--customer-control-rim); outline: 1px solid var(--customer-control-edge); outline-offset: -1px; }
.menu-app .menu-heading .menu-identity { height: var(--menu-heading-control-size,44px); min-height: 0px; padding-block: 0px; }
.menu-app .menu-heading .menu-establishment-image { width: var(--menu-heading-control-size,44px); height: var(--menu-heading-control-size,44px); }
.menu-app .menu-identity { box-shadow: var(--customer-accent-rim), 0 3px 10px #00000014; direction: ltr; background: linear-gradient(165deg, rgb(255, 255, 255), rgb(237, 237, 237)); border-color: rgba(255, 255, 255, 0.75); }
.menu-app .menu-identity strong { direction: var(--reading-direction); text-align: start; font-weight: 600; line-height: 1.3; }
.menu-app .subcategory-filters button[aria-pressed="true"], .menu-app .toolbar .modes > button[aria-pressed="true"]::before { background: var(--customer-control-selected); color: var(--customer-control-selected-text); box-shadow: var(--customer-control-selected-rim); }
.menu-app .toolbar > .menu-cart-button { flex: 0 0 auto; padding-inline: 10px; }
.menu-app .cart-toolbar-summary, .menu-app .menu-cart-button > .cart-add-feedback { direction: ltr; align-items: center; gap: 6px; display: flex; }
.menu-app .cart-toolbar-summary > .menu-symbol, .menu-app .cart-add-feedback > .menu-symbol { flex: 0 0 auto; width: 22px; height: 22px; }
.menu-app .menu-cart-button .count { min-width: 1ch; }
.menu-app .cart-toolbar-total { border-inline-start: 1px solid var(--line); text-align: start; white-space: nowrap; font-variant-numeric: tabular-nums; gap: 1px; padding-inline-start: 7px; line-height: 1.2; display: grid; }
.menu-app .cart-toolbar-total strong { font-size: 13px; font-weight: 700; }
.menu-app .cart-toolbar-total small { color: inherit; font-size: 10px; }
@container menu-toolbar (max-width: 440px) {
.menu-app .toolbar > .modes { min-width: 88px; }
}
@container menu-toolbar (max-width: 340px) {
.menu-app .toolbar { gap: 4px; }
.menu-app .toolbar > .menu-cart-button { padding-inline: 7px; }
.menu-app .cart-toolbar-summary, .menu-app .menu-cart-button > .cart-add-feedback { gap: 4px; }
.menu-app .cart-toolbar-summary > .menu-symbol, .menu-app .cart-add-feedback > .menu-symbol { width: 20px; height: 20px; }
.menu-app .cart-toolbar-total { padding-inline-start: 5px; }
.menu-app .cart-toolbar-total strong { font-size: 11px; }
.menu-app .toolbar .modes > button { padding-inline: 4px; }
}
.menu-app .toolbar .modes > button[aria-pressed="true"] { color: var(--customer-control-selected-text); }
.menu-app .grid-add-action { border: 1px solid rgba(255, 255, 255, 0.12); height: auto; min-height: 34px; padding-block: 2px; transition: box-shadow 0.1s; position: relative; }
.menu-app .grid-add-bar:not(.grid-add-bar-offer) { min-height: 0px; padding-block: 3px; }
.menu-app .grid-product-purchase { padding-bottom: 6px; }
.menu-app button:is(.grid-add-action, .catalog-add) { background: var(--customer-add-fill); color: var(--customer-add-ink); box-shadow: var(--customer-accent-rim); }
.menu-app button.grid-add-action { background: var(--customer-control-selected); color: var(--inverse); }
.menu-app .grid-panel { --grid-dot-color: #aaa; --grid-axis-color: gray; box-shadow: var(--customer-control-rim); outline: 1px solid var(--customer-control-edge); outline-offset: -1px; }
.menu-app .magnetic-grid .dot { background: var(--grid-dot-color); box-shadow: none; }
.menu-app .magnetic-grid .dot.axis { width: 4.125px; }
.menu-app .magnetic-grid .dot:is(.axis, .nearby) { background: var(--grid-axis-color); }
.menu-app.grid-view .grid-panel .label { border: 1px solid var(--customer-control-edge); background: var(--customer-control-fill); box-shadow: var(--customer-control-rim), inset 0 2px 2px #ffffffa6; border-radius: 999px; padding: 4px 6px; font-weight: 800; }
.menu-app.grid-view .grid-panel .label:is(.bitter, .sweet) { padding: 6px 3px; }
.menu-app :is(.magnetic-marker-face, .grid-guide-dot) { background: linear-gradient(160deg, rgb(255, 255, 255), rgb(253, 253, 253)); box-shadow: rgb(255, 255, 255) 0px 1px 1px inset, rgba(0, 0, 0, 0.05) 0px -1px 2px inset, rgba(0, 0, 0, 0.16) 0px 5px 16px, rgba(0, 0, 0, 0.04) 0px 1px 4px; }
.menu-app :is(.magnetic-marker-face, .grid-guide-dot)::after { display: none; }
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))) {
.menu-app :is(.grid-product-card .menu-identity, .grid-product-card .menu-utility-button, .product-info-button) { backdrop-filter: blur(8px); }
}
@media (hover: hover) and (pointer: fine) {
.menu-app :is(.menu-identity, .menu-utility-button, .menu-language-picker, .menu-cart-button, .product-info-button, .carousel-sections-button, .product-carousel-navigation button, .close, .back-to-cart, .subcategory-filters button, .product-like-control button, .search-empty button, .grid-guide-help, .carousel-recommendation-details, .carousel-section-option, .carousel-subsections button):not(:disabled):not([aria-pressed="true"]):not([aria-current="location"]):hover { background: var(--customer-control-hover); }
}
.menu-app :is(.menu-identity, .menu-utility-button, .menu-language-picker, .menu-cart-button, .product-info-button, .carousel-sections-button, .product-carousel-navigation button, .close, .back-to-cart, .subcategory-filters button, .catalog-add, .product-like-control button, .search-empty button, .grid-guide-help, .carousel-recommendation-details, .carousel-section-option, .carousel-subsections button):not(:disabled):active { box-shadow: var(--customer-control-pressed-rim); scale: none; }
@media (prefers-reduced-motion: reduce) {
.menu-app :is(button, .menu-language-picker) { transition: none; }
.menu-app :is(button, .menu-language-picker):active { scale: none; }
}
.menu-app .toolbar > .modes { gap: 4px; padding-inline: 4px; }
.menu-app .toolbar .modes > button { flex: 0 0 52px; min-width: 52px; padding-inline: 10px; }
.menu-app .toolbar .modes > button[aria-pressed="false"]::before { background: var(--customer-control-fill); border: 1px solid var(--customer-control-edge); box-shadow: var(--customer-control-rim); }
.menu-app .toolbar .modes > button[aria-pressed="true"] { flex: 1 1 auto; justify-content: center; gap: 8px; min-width: 80px; padding-inline: 16px; display: flex; }
.menu-app .toolbar .modes > button > .menu-symbol { flex: 0 0 24px; width: 24px; height: 24px; }
.menu-app .toolbar .modes .mode-label { text-align: center; white-space: nowrap; min-width: 0px; font-size: 12px; display: block; }
.menu-app .toolbar .modes > button::before { transition: box-shadow 0.1s; }
.menu-app .toolbar .modes > button:active::before, .menu-app .catalog-section-links .catalog-offers-link:active { box-shadow: var(--customer-control-pressed-rim); }
.menu-app :is(.toolbar button, .grid-sections button, .catalog-section-links :is(a, .catalog-navigation-trigger), .subcategory-filters button, .back-to-cart, .grid-add-action) { user-select: none; }
@media (prefers-reduced-motion: reduce) {
.menu-app .toolbar .modes > button::before { transition: none; }
}
.menu-app .grid-add-action::after { content: ""; border-radius: inherit; position: absolute; inset: -5px 0px; }
.menu-app.grid-view .grid-controls-drinks { grid-template-columns: minmax(0px, 1fr); gap: 0px; }
:root[data-customer-palette="coral"] { --table-guest-1: #b94a36; --table-guest-2: #396b80; --table-guest-3: #7b6089; --table-guest-4: #926824; --table-guest-5: #4f7058; --table-guest-6: #9e506a; --table-guest-7: #357b78; --table-guest-8: #74604b; --table-guest-9: #5967a1; --table-guest-10: #9c593c; --table-guest-11: #677438; --table-guest-12: #925782; }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app { --background: #f3ede4; --customer-brand: #dd462d; --foreground: #352923; --surface: #fcfaf8; --soft: #f0ded5; --muted: #70584e; --line: #dfc6bb; --customer-button-fill: #bf3c26; --control: var(--customer-button-fill); --inverse: #fff9f4; --dot: #c3b4aa; --axis: #987a6d; --customer-cart-fill: #f4eee6; --customer-cart-ink: var(--customer-button-fill); --customer-cart-feedback: #fff9f4; --customer-card-shadow: 0 2px 10px #30261c08; --customer-control-fill: linear-gradient(165deg, #fff9f4, #f3e7de); --customer-control-edge: #dfc6bb; --customer-control-rim: inset 0 1px 1px #fff9f4, 0 1px 3px #30261c0a; --customer-control-hover: linear-gradient(165deg, #fff9f4, #f0dace); --customer-control-press: linear-gradient(165deg, #f0ded5, #f3ede4); --customer-control-pressed-rim: inset 0 1px 3px #30261c1f; --customer-control-selected: var(--customer-button-fill); --customer-control-selected-text: #fff9f4; --customer-control-selected-rim: inset 0 1px 1px #fffaf52e, 0 1px 3px #30261c1a; }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) body:has(main.menu-app) { background: rgb(243, 237, 228); }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) main.menu-app, :root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app .product-slide-photo, :root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app .product-slide-photo > :is(img, .product-image-placeholder) { background: var(--background); }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app :is(.catalog-card, .product-card, .grid-panel, .picker-panel, .product-list, .full-menu-header) { background: var(--surface); box-shadow: var(--customer-card-shadow); }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app .menu-identity { background: var(--customer-control-fill); border-color: var(--customer-control-edge); box-shadow: var(--customer-control-rim); }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app .menu-cart-button { --customer-control-fill: var(--customer-cart-fill); --customer-control-hover: #f8f1e9; --customer-control-press: #f4eee6; --customer-control-edge: transparent; --customer-control-rim: inset 0 2px 4px #ffffffd9, inset 0 -3px 5px #71372b17, 0 4px 10px #71372b1a; --customer-control-pressed-rim: inset 0 2px 5px #71372b24, inset 0 -1px 2px #ffffffa6, 0 1px 3px #71372b0d; --line: #afb3b9; background: var(--customer-control-fill); color: var(--customer-cart-ink); }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app .grid-panel { --grid-dot-color: var(--dot); --grid-axis-color: var(--axis); isolation: isolate; box-shadow: none; background: 0px 0px; outline: none; }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app .grid-panel::before { content: ""; z-index: -1; pointer-events: none; border-radius: inherit; background: var(--surface); transition: transform 0.1s ease-out, box-shadow 0.1s ease-out; position: absolute; inset: 0px; transform: translateY(0px); box-shadow: rgb(255, 249, 244) 0px 1px inset, rgb(213, 161, 145) 0px 6px, rgb(251, 224, 218) 0px 0px 0px 4px, rgb(251, 224, 218) 0px 6px 0px 4px; }
@media (prefers-reduced-motion: reduce) {
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app .grid-panel::before { transition: none; }
}
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app :is(.magnetic-marker-face, .grid-guide-dot) { background: var(--customer-control-fill); box-shadow: inset 0 0 0 var(--customer-marker-border,.3px) var(--customer-brand), var(--customer-control-rim), 0 5px 16px #71372b24; }
:root[data-customer-palette="coral"]:not([data-theme="dark"]) .menu-app .grid-product-purchase .grid-add-bar:not(.grid-add-bar-offer) { background: var(--surface); color: var(--foreground); --grid-plus-background: var(--control); --grid-plus-color: var(--inverse); }
:root[data-customer-palette="coral"] { --brand-paper: #f3ede4; --brand-card: #fcfaf8; --brand-ink: #352923; --brand-muted: #70584e; --brand-line: #dfc6bb; --brand-soft: #f0ded5; --brand-coral: #bf3c26; --brand-inverse: #fff9f4; --brand-blue: #477ab5; --brand-control: linear-gradient(165deg,#fff9f4,#f3e7de); --brand-rim: inset 0 1px 1px #fff9f4,0 1px 3px #30261c0a; }

.menu-app .menu-identity strong{font-size:12px}
.preview-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:16px;background:#f3ede4;font:400 13px/1.6 "IBM Plex Sans Arabic",sans-serif}
.preview-links a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid #dfc6bb;border-radius:24px;color:#352923;text-decoration:none}
.preview-links a[aria-current=page]{background:#bf3c26;color:#fff9f4}
.menu-app button:disabled{opacity:1;cursor:default}
.menu-app select:disabled,.menu-app input:disabled{cursor:default}
.menu-app *,.menu-app *::before,.menu-app *::after{animation:none!important;transition:none!important}
.menu-app .grid-photo-layer[data-ready=true]{opacity:1}
.menu-app .marker{pointer-events:none}
.menu-app .grid-product-image:disabled{opacity:1}
body{margin:0;background:#f3ede4}
.demo-hand{position:absolute;z-index:30;display:block;width:48px;height:58px;pointer-events:none;opacity:0;filter:drop-shadow(0 3px 4px #0003)}
.demo-hand--grid{left:50%;top:50%}
.menu-app .field,.menu-app .modes,.menu-app .catalog-image,.menu-app .product-slide-photo{position:relative}
.demo-hand--switch{left:20%;top:50%}
.demo-hand--image{left:45%;top:45%}
.demo-hand--cards{left:55%;top:55%}
