/* Sites by Leo: order-ahead layer (templates/menu/order.js).
   Set these on :root in the site's own CSS to match it: --o-accent --o-on-accent --o-ink --o-muted --o-bg --o-line --o-font --o-bottom */
.mlist li{position:relative}
.o-ctl{display:inline-flex;align-items:center;gap:6px;flex:none;margin-left:10px}
.o-add{border:1.5px solid var(--o-accent,#1B1714);background:transparent;color:var(--o-accent,#1B1714);border-radius:999px;min-height:36px;padding:0 14px;font:700 14px/1 var(--o-font,inherit);cursor:pointer}
.o-add:hover{background:var(--o-accent,#1B1714);color:var(--o-on-accent,#fff)}
.o-q{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--o-accent,#1B1714);background:transparent;color:var(--o-accent,#1B1714);font:700 18px/1 var(--o-font,inherit);cursor:pointer;display:grid;place-items:center}
.o-n{min-width:18px;text-align:center;font-variant-numeric:tabular-nums}
.o-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--o-bottom,16px) + env(safe-area-inset-bottom,0px));width:min(560px,calc(100% - 24px));z-index:60}
.o-bar[hidden]{display:none}
.o-bar>button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;border-radius:999px;background:var(--o-accent,#1B1714);color:var(--o-on-accent,#fff);padding:8px 8px 8px 20px;font:600 15px/1.25 var(--o-font,inherit);text-align:left;cursor:pointer;box-shadow:0 16px 36px -14px rgba(0,0,0,.5)}
.o-bar small{display:block;opacity:.8;font-size:13px;font-variant-numeric:tabular-nums}
.o-bar-b{background:var(--o-on-accent,#fff);color:var(--o-accent,#1B1714);border-radius:999px;padding:10px 18px;font-weight:700;white-space:nowrap}
body.o-has{padding-bottom:96px}
.o-scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:80}
.o-sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,100%);max-height:88vh;background:var(--o-bg,#fff);color:var(--o-ink,#1B1714);border-radius:22px 22px 0 0;z-index:81;display:flex;flex-direction:column;font-family:var(--o-font,inherit);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (min-width:700px){.o-sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:22px}}
.o-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 8px}
.o-head h3{margin:0}
.o-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--o-line,#E4DACB);background:transparent;color:var(--o-ink,#1B1714);font-size:24px;line-height:1;cursor:pointer}
.o-body{overflow-y:auto;padding:4px 20px 12px;display:grid;gap:14px}
.o-lines{list-style:none;margin:0;padding:0;display:grid}
.o-lines li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--o-line,#E4DACB)}
.o-lines .o-ctl{margin:0}
.o-ln{font-weight:600}
.o-lp{font-variant-numeric:tabular-nums;min-width:64px;text-align:right}
.o-tot{display:flex;justify-content:space-between;font-size:18px}
.o-f{display:grid;gap:6px;font-weight:600;font-size:14px}
.o-f small{font-weight:400;color:var(--o-muted,#645A50)}
.o-f select,.o-f textarea{font:400 16px/1.4 var(--o-font,inherit);color:var(--o-ink,#1B1714);background:var(--o-bg,#fff);border:1.5px solid var(--o-line,#E4DACB);border-radius:10px;padding:10px 12px;width:100%}
.o-small{margin:0;font-size:13.5px;color:var(--o-muted,#645A50)}
.o-empty{color:var(--o-muted,#645A50)}
.o-foot{padding:12px 20px 16px;border-top:1px solid var(--o-line,#E4DACB)}
.o-pay{width:100%;min-height:52px;border:0;border-radius:999px;background:var(--o-accent,#1B1714);color:var(--o-on-accent,#fff);font:700 17px/1 var(--o-font,inherit);cursor:pointer}
.o-ghost{background:transparent;color:var(--o-ink,#1B1714);border:1.5px solid var(--o-line,#E4DACB)}
.o-toast{position:fixed;left:50%;bottom:calc(110px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(460px,calc(100% - 32px));background:#111;color:#fff;padding:14px 16px;border-radius:14px;font:500 14.5px/1.45 var(--o-font,inherit);z-index:90;box-shadow:0 16px 40px -12px rgba(0,0,0,.5)}
@media (prefers-reduced-motion:no-preference){.o-sheet{animation:o-up .2s ease-out}@keyframes o-up{from{opacity:.5;translate:0 24px}}}
