/* Pickup ordering module (demo, client-side only) */
.om-overlay{position:fixed;inset:0;z-index:1000;background:rgba(10,8,14,.6);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center}
.om-overlay.open{display:flex}
body.om-lock{overflow:hidden}
.om-panel{background:var(--o-bg);color:var(--o-text);width:min(1080px,94vw);height:min(88vh,860px);border-radius:var(--o-radius);display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);font-family:var(--o-font);position:relative}
.om-head{display:flex;align-items:center;gap:14px;padding:16px 22px;background:var(--o-head-bg);color:var(--o-head-text);border-bottom:1px solid rgba(0,0,0,.08)}
.om-head h2{font-family:var(--o-font-head);font-size:1.35rem;line-height:1.1;margin:0;color:inherit;letter-spacing:normal;text-transform:var(--o-head-transform,none)}
.om-head .om-sub{font-size:.8rem;opacity:.75;display:block;margin-top:2px;font-family:var(--o-font)}
.om-steps{margin-left:auto;margin-right:-6px;display:flex;gap:6px;font-size:.75rem;font-weight:700}
.om-steps span{padding:.3em .7em;border-radius:999px;border:1px solid currentColor;opacity:.5;white-space:nowrap}
.om-steps span.on{opacity:1;background:var(--o-primary);color:var(--o-primary-text);border-color:var(--o-primary)}
.om-x{margin-left:auto;background:none;border:0;color:inherit;font-size:1.7rem;line-height:1;cursor:pointer;padding:4px 8px;border-radius:8px}
.om-x:hover{background:rgba(127,127,127,.2)}
.om-body{overflow:hidden;position:relative}
.om-step{display:none;height:100%}
.om-step.on{display:block}
.om-step[data-s="menu"].on{display:grid;grid-template-columns:minmax(0,1fr) 340px}
.om-scroll{overflow-y:auto;height:100%;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.om-menu{padding:0 22px 30px}
.om-cats{position:sticky;top:0;z-index:2;background:var(--o-bg);display:flex;gap:8px;overflow-x:auto;padding:14px 0 12px;scrollbar-width:none}
.om-cats::-webkit-scrollbar{display:none}
.om-cats button{flex:none;border:1.5px solid var(--o-line-strong);background:transparent;color:var(--o-text);border-radius:999px;padding:.45em 1em;font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.om-cats button.on{background:var(--o-primary);border-color:var(--o-primary);color:var(--o-primary-text)}
.om-banner{display:flex;gap:10px;align-items:flex-start;background:var(--o-soft);border-radius:12px;padding:12px 14px;font-size:.86rem;margin:4px 0 10px;line-height:1.45}
.om-banner b{display:block}
.om-cat h3{font-family:var(--o-font-head);font-size:1.25rem;margin:22px 0 6px;color:var(--o-text);text-transform:var(--o-head-transform,none);letter-spacing:normal}
.om-item{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--o-line)}
.om-item .om-info{flex:1;min-width:0}
.om-item .om-name{font-weight:700;font-size:1rem;line-height:1.3}
.om-item .om-desc{font-size:.84rem;color:var(--o-muted);line-height:1.4;margin-top:2px}
.om-item .om-price{font-size:.75rem;color:var(--o-muted);margin-top:3px;font-style:italic}
.om-add{flex:none;border:0;background:var(--o-primary);color:var(--o-primary-text);font:inherit;font-weight:700;font-size:.88rem;padding:.55em 1.1em;border-radius:999px;cursor:pointer;min-width:74px}
.om-qty{flex:none;display:inline-flex;align-items:center;border:1.5px solid var(--o-primary);border-radius:999px;overflow:hidden}
.om-qty button{width:36px;height:36px;border:0;background:transparent;color:var(--o-text);font-size:1.2rem;font-weight:700;cursor:pointer}
.om-qty button:hover{background:var(--o-soft)}
.om-qty output{min-width:24px;text-align:center;font-weight:700}
.om-side{border-left:1px solid var(--o-line);background:var(--o-side);display:flex;flex-direction:column;min-height:0}
.om-side h4,.om-co h4{font-family:var(--o-font-head);font-size:1.1rem;margin:0;padding:16px 18px 8px;text-transform:var(--o-head-transform,none);letter-spacing:normal}
.om-side .om-lines{flex:1;overflow-y:auto;padding:0 18px}
.om-empty{color:var(--o-muted);font-size:.9rem;padding:18px 0;text-align:center}
.om-line{padding:12px 0;border-bottom:1px dashed var(--o-line-strong)}
.om-line .om-row{display:flex;align-items:center;gap:10px}
.om-line .om-ln{flex:1;font-weight:700;font-size:.93rem;line-height:1.3}
.om-line .om-qty button{width:30px;height:30px;font-size:1rem}
.om-line input{width:100%;margin-top:8px;border:1px solid var(--o-line-strong);background:var(--o-input);color:var(--o-text);border-radius:8px;padding:.5em .7em;font:inherit;font-size:.84rem}
.om-rm{background:none;border:0;color:var(--o-muted);font:inherit;font-size:.78rem;text-decoration:underline;cursor:pointer;padding:0 0 0 2px}
.om-foot{min-width:0;display:flex;align-items:center;gap:14px;padding:14px 22px;border-top:1px solid var(--o-line);background:var(--o-bg)}
.om-foot .om-sum{flex:1;min-width:0;font-size:.88rem;line-height:1.35}
.om-s-desk{display:block}.om-s-mob{display:none}
.om-foot .om-sum b{font-size:1rem;display:block}
.om-btn{text-decoration:none;display:inline-block;border:0;background:var(--o-primary);color:var(--o-primary-text);font:inherit;font-weight:700;padding:.9em 1.5em;border-radius:var(--o-btn-radius,999px);cursor:pointer;font-size:.98rem;white-space:nowrap}
.om-btn[disabled]{opacity:.4;cursor:not-allowed}
.om-btn.ghost{background:transparent;color:var(--o-text);border:1.5px solid var(--o-line-strong)}
.om-co{max-width:680px;margin:0 auto;padding:6px 22px 30px}
.om-co h4{padding:18px 0 8px}
.om-co .om-lines{padding:0}
.om-field{margin:12px 0}
.om-field label{display:block;font-weight:700;font-size:.88rem;margin-bottom:5px}
.om-field input,.om-field select,.om-field textarea{width:100%;border:1.5px solid var(--o-line-strong);background:var(--o-input);color:var(--o-text);border-radius:10px;padding:.75em .85em;font:inherit;font-size:1rem}
.om-field textarea{min-height:76px;resize:vertical}
.om-field .om-err{color:#d0342c;font-size:.8rem;margin-top:4px;display:none}
.om-field.bad .om-err{display:block}
.om-field.bad input,.om-field.bad select{border-color:#d0342c}
.om-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.om-seg{display:flex;gap:8px;flex-wrap:wrap}
.om-seg label{flex:1;min-width:130px;display:flex;align-items:center;gap:8px;border:1.5px solid var(--o-line-strong);border-radius:10px;padding:.7em .85em;cursor:pointer;font-weight:700;font-size:.92rem;margin:0}
.om-seg label.dis{opacity:.45;cursor:not-allowed}
.om-seg input{accent-color:var(--o-primary);width:auto}
.om-pay{display:flex;gap:12px;align-items:flex-start;border:2px solid var(--o-primary);border-radius:12px;padding:14px 16px;margin:18px 0 10px;background:var(--o-soft)}
.om-pay .ic{font-size:1.5rem;line-height:1}
.om-pay b{display:block;font-size:1rem}
.om-pay span{font-size:.86rem;color:var(--o-muted)}
.om-pitch{font-size:.84rem;color:var(--o-muted);display:flex;gap:8px;align-items:flex-start;margin-top:8px}
.om-done{max-width:560px;margin:0 auto;padding:26px 22px 34px;text-align:center}
.om-check{width:74px;height:74px;border-radius:50%;background:var(--o-primary);color:var(--o-primary-text);display:grid;place-items:center;font-size:2.2rem;margin:4px auto 14px}
.om-done h3{font-family:var(--o-font-head);font-size:1.7rem;margin:0 0 4px;text-transform:var(--o-head-transform,none);letter-spacing:normal}
.om-no{font-family:var(--o-font-head);font-size:2rem;letter-spacing:.06em;margin:6px 0 2px;color:var(--o-primary-strong)}
.om-receipt{text-align:left;border:1.5px dashed var(--o-line-strong);border-radius:12px;padding:16px 18px;margin:18px 0;background:var(--o-side)}
.om-receipt .r{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:.92rem}
.om-receipt .r span:first-child{color:var(--o-muted)}
.om-receipt ul{list-style:none;margin:8px 0 0;padding:8px 0 0;border-top:1px solid var(--o-line)}
.om-receipt li{padding:5px 0;font-size:.93rem}
.om-receipt li small{display:block;color:var(--o-muted);font-style:italic}
.om-demo{background:#fff8d6;color:#4a3d00;border:1px solid #ecd67a;border-radius:10px;padding:12px 14px;font-size:.84rem;text-align:left;line-height:1.45}
.om-demo b{color:#2e2600}
.om-done .om-acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.om-toast{position:absolute;left:50%;bottom:86px;transform:translateX(-50%) translateY(20px);background:#111;color:#fff;padding:.6em 1.1em;border-radius:999px;font-size:.85rem;opacity:0;transition:.2s;pointer-events:none;white-space:nowrap;z-index:5}
.om-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media (max-width:760px){
 .om-overlay{align-items:stretch}
 .om-panel{width:100vw;height:100%;height:100dvh;border-radius:0}
 .om-step[data-s="menu"].on{display:block}
 .om-side{display:none}
 .om-steps{display:none}
 .om-head{padding:12px 16px}
 .om-menu{padding:0 16px 24px}
 .om-co{padding:4px 16px 24px}
 .om-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
 .om-2{grid-template-columns:1fr}
 .om-btn{padding:.9em 1.2em}
 .om-s-desk{display:none}.om-s-mob{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--o-muted);font-size:.8rem}
 #omBack{padding:.9em .9em}
 .om-foot{gap:10px}
}
