/* Velvet Sin order pad (drinks + food). No server. */
.op-add{margin-top:1rem;border-top:1px solid #2a2a2a;padding-top:.9rem;display:grid;gap:.6rem}
.op-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.op-qty{display:inline-flex;align-items:center;border:1px solid #444;border-radius:999px;overflow:hidden}
.op-qty button{width:44px;height:44px;border:0;background:#111;color:#fff;font-size:1.3rem;cursor:pointer}
.op-qty button:hover,.op-qty button:focus-visible{background:#2a0508;color:#ff2a3a;outline:none}
.op-qty output{min-width:2.2rem;text-align:center;font:700 1.05rem Inter,system-ui,sans-serif;color:#fff}
.op-note{width:100%;min-height:44px;background:#0b0b0b;border:1px solid #333;border-radius:3px;color:#eee;padding:.5rem .7rem;font:400 1rem Inter,system-ui,sans-serif}
.op-note:focus{outline:2px solid #ff2a3a;outline-offset:1px;border-color:#c1121f}
.op-btn{min-height:44px;padding:.55rem 1.1rem;border:1px solid #c1121f;background:#c1121f;color:#fff;border-radius:3px;font:700 .85rem Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.op-btn:hover,.op-btn:focus-visible{background:#e0182a;outline:2px solid #fff;outline-offset:2px}
.op-btn.ghost{background:transparent;color:#eee;border-color:#444}.op-btn.ghost:hover,.op-btn.ghost:focus-visible{border-color:#ff2a3a;color:#fff;background:transparent}
.op-btn.sm{min-height:36px;padding:.35rem .7rem;font-size:.72rem}
.op-ok{font:600 .85rem Inter,system-ui,sans-serif;color:#7fd17f;margin:0}
.op-tab{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:1070;min-height:48px;padding:.6rem 1rem;border:1px solid #c1121f;border-radius:999px;background:#0b0b0b;color:#fff;font:700 .9rem Inter,system-ui,sans-serif;letter-spacing:.06em;box-shadow:0 10px 30px -8px rgba(193,18,31,.7);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}
.op-tab[hidden]{display:none}
.op-tab b{background:#c1121f;border-radius:999px;min-width:1.6rem;padding:.1rem .45rem;text-align:center}
.op-tab:focus-visible{outline:2px solid #fff;outline-offset:3px}
.op-ov{position:fixed;inset:0;z-index:1090;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;padding:1rem}
.op-ov[hidden]{display:none}
.op-m{position:relative;width:min(620px,100%);max-height:calc(100vh - 2rem);overflow:auto;background:#0d0d0d;border:1px solid #c1121f;border-radius:6px;padding:1.5rem 1.3rem 1.2rem;color:#e2ddd4}
.op-m h2{font-family:'Outfit',system-ui,sans-serif;font-weight:800;font-size:1.5rem;color:#fff;margin:0 0 1rem;padding-right:3rem}
.op-m h3{font:700 .8rem Inter,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#ff2a3a;margin:1.3rem 0 .6rem}
.op-x{position:absolute;top:.6rem;right:.6rem;width:44px;height:44px;border:1px solid #333;border-radius:50%;background:#0b0b0b;color:#fff;font-size:1.4rem;cursor:pointer}
.op-x:hover,.op-x:focus-visible{border-color:#ff2a3a;color:#ff2a3a;outline:none}
.op-list{list-style:none;margin:0;padding:0}
.op-li{border-bottom:1px solid #222;padding:.7rem 0;display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;align-items:center}
.op-li .n{font-weight:700;color:#fff}.op-li .pr{font:700 1rem Inter,system-ui,sans-serif;color:#ff2a3a;font-variant-numeric:tabular-nums;text-align:right}
.op-li .ctl{grid-column:1/-1;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.op-li .ctl .op-note{flex:1 1 180px;width:auto}
.op-tot{display:flex;justify-content:space-between;align-items:baseline;margin:1rem 0 .3rem;font:800 1.3rem Inter,system-ui,sans-serif;color:#fff}
.op-tot small{font-weight:400;font-size:.8rem;color:#aaa}
.op-fine{font-size:.85rem;color:#9a948a;margin:0 0 1rem}
.op-acts{display:flex;flex-wrap:wrap;gap:.5rem}
.op-empty{color:#bbb;font-style:italic}
.op-saved{list-style:none;margin:0;padding:0}.op-saved li{display:flex;gap:.5rem;align-items:center;justify-content:space-between;border-bottom:1px solid #222;padding:.45rem 0}
.op-saved li span{flex:1;color:#eee}
.op-saveform{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.6rem}.op-saveform input{flex:1 1 160px}
.op-big{position:fixed;inset:0;z-index:1100;background:#000;color:#fff;overflow:auto;padding:1.5rem 1.2rem calc(2rem + env(safe-area-inset-bottom))}
.op-big[hidden]{display:none}
.op-big h2{font:800 clamp(1.6rem,6vw,2.4rem) 'Outfit',system-ui,sans-serif;margin:0 0 1rem;color:#fff;border-bottom:3px solid #ff2a3a;padding-bottom:.5rem}
.op-big ol{list-style:none;margin:0;padding:0}
.op-big li{font:700 clamp(1.5rem,5.5vw,2.2rem)/1.25 Inter,system-ui,sans-serif;padding:.6rem 0;border-bottom:1px solid #444}
.op-big li b{display:inline-block;min-width:2.6ch;color:#ffd84a}
.op-big li em{display:block;font-style:normal;font-weight:600;font-size:.7em;color:#ffd84a;margin-left:2.6ch}
.op-big .tot{font:800 clamp(1.4rem,5vw,2rem) Inter,system-ui,sans-serif;margin:1.2rem 0}
.op-big .op-btn{font-size:1rem}
.op-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:575px){.op-ov{align-items:flex-end;padding:0}.op-m{border-radius:16px 16px 0 0;border-bottom:0;max-height:88vh;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom))}}
@media (prefers-reduced-motion:no-preference){.op-ov:not([hidden]) .op-m{animation:dkUp .3s cubic-bezier(.2,.7,.2,1) both}.op-tab.bump{animation:opBump .35s ease}}
@keyframes opBump{50%{transform:scale(1.08)}}

/* v3/v4: tap-twice armed state (subtle red noir) + keep the editor dock from covering the open order sheet */
.op-btn.op-armed,.op-btn.ghost.op-armed{border-color:#ff2a3a;color:#ff4757;background:rgba(193,18,31,.14);box-shadow:inset 0 0 0 1px rgba(255,42,58,.35)}
@media (prefers-reduced-motion:no-preference){.op-btn.op-armed{transition:background .2s,color .2s,border-color .2s}}
html.op-open body .dock-ee-44E4F0E59DFA295EB450397CA40D1169{visibility:hidden!important;pointer-events:none!important}
