/* =====================================================================
 * Restaurant POS hero stage: the dining room as a 3D floor plan.
 * template-parts/stages/restaurant.php, played by assets/engine.js.
 *
 * .rs-floor is a 600 x 420 platform tilted back (rotateX 55deg). Inside it
 * x and y are floor coordinates and z is height above the floor. Tables are
 * stacked discs or squares, chairs are a seat plus a backrest that stands
 * up (rotateX -90deg about its lower edge), labels are billboards turned
 * back to face the viewer (rotateX -55deg). The kitchen display stands on
 * the pass at the back, leaning back a little so it reads face on.
 * ===================================================================== */

.stage-restaurant .stage-3d{--rs-ease:cubic-bezier(.2,.7,.2,1)}
.stage-restaurant .rs-glow{position:absolute;left:-60px;top:40px;width:740px;height:520px;border-radius:50%;transform:translateZ(-320px);
  background:radial-gradient(closest-side,rgba(47,125,246,.3),rgba(47,125,246,.08) 60%,transparent)}

/* ---------- The platform ---------- */
.stage-restaurant .rs-floor{position:absolute;left:18px;top:118px;width:600px;height:420px;transform-style:preserve-3d;transform:rotateX(55deg);scale:.93 .93 .93;animation:rs-rise 1.1s var(--rs-ease) both}
@keyframes rs-rise{from{translate:0 44px}}
.stage-restaurant .rs-floor *{transform-style:preserve-3d}
.stage-restaurant .rs-fs,.stage-restaurant .rs-ff,.stage-restaurant .rs-fr,.stage-restaurant .rs-fb>i,.stage-restaurant .rs-heat,.stage-restaurant .rs-neck,
.stage-restaurant .rs-kl,.stage-restaurant .rs-kf,.stage-restaurant .rs-sh,.stage-restaurant .rs-leg,.stage-restaurant .rs-ch>i,.stage-restaurant .rs-top,.stage-restaurant .rs-lb{animation:rs-fade .8s ease-out both}
@keyframes rs-fade{from{opacity:0}}
.stage-restaurant .rs-floor i{position:absolute;display:block}
.stage-restaurant .rs-fs{inset:0;border-radius:14px;
  background:
    radial-gradient(46% 26% at 37% 6%,rgba(255,150,70,.22),transparent 72%),
    radial-gradient(70% 60% at 50% 60%,rgba(47,125,246,.14),transparent 72%),
    linear-gradient(rgba(150,190,255,.07) 1px,transparent 1px) 0 0/50px 50px,
    linear-gradient(90deg,rgba(150,190,255,.07) 1px,transparent 1px) 0 0/50px 50px,
    linear-gradient(180deg,#0C1424,#0A1120);
  box-shadow:inset 0 0 0 1.5px rgba(140,185,255,.28),inset 0 0 60px rgba(0,0,0,.5)}
/* Platform edges, hanging below the floor (z 0 to -18) */
.stage-restaurant .rs-ff{left:14px;top:420px;width:572px;height:18px;transform-origin:50% 0;transform:rotateX(-90deg);
  background:linear-gradient(180deg,#1B2840,#0B111D);box-shadow:inset 0 1.5px 0 rgba(140,190,255,.6)}
.stage-restaurant .rs-fr{left:600px;top:14px;width:18px;height:392px;transform-origin:0 50%;transform:rotateY(90deg);
  background:linear-gradient(90deg,#16223A,#090E18)}

/* ---------- A box standing on the floor (--w x --d footprint, --h tall) ---------- */
.stage-restaurant .rs-fb{position:absolute;width:var(--w);height:var(--d)}
.stage-restaurant .rs-fb>i{backface-visibility:hidden}
.stage-restaurant .rs-fb>.t{left:0;top:0;width:100%;height:100%;transform:translateZ(var(--h))}
.stage-restaurant .rs-fb>.f{left:0;width:100%;top:calc(100% - var(--h));height:var(--h);transform-origin:50% 100%;transform:rotateX(-90deg)}
.stage-restaurant .rs-fb>.r{top:0;height:100%;left:calc(100% - var(--h));width:var(--h);transform-origin:100% 50%;transform:rotateY(90deg)}
.stage-restaurant .rs-fb>.l{top:0;height:100%;left:0;width:var(--h);transform-origin:0 50%;transform:rotateY(-90deg)}

/* The kitchen pass, with the kitchen's warm light behind it */
.stage-restaurant .rs-pass{--w:320px;--d:40px;--h:30px;left:4px;top:4px}
.stage-restaurant .rs-pass>.t{border-radius:3px;background:linear-gradient(180deg,#8796B0,#C9D3E3 45%,#7E8CA6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.stage-restaurant .rs-pass>.f{background:linear-gradient(180deg,#2B364C,#121A29);box-shadow:inset 0 2px 0 rgba(255,190,120,.45),inset 0 -6px 12px rgba(255,140,60,.12)}
.stage-restaurant .rs-pass>.r{background:#162033}
.stage-restaurant .rs-pass>.l{background:#162033}
.stage-restaurant .rs-heat{left:-6px;top:-150px;width:340px;height:150px;transform-origin:50% 100%;transform:rotateX(-90deg);
  background:radial-gradient(60% 90% at 50% 100%,rgba(255,150,70,.34),rgba(255,120,50,.08) 60%,transparent 75%)}

/* ---------- Kitchen display on the pass ---------- */
.stage-restaurant .rs-neck{left:146px;top:8px;width:28px;height:18px;transform-origin:50% 100%;transform:translateZ(30px) rotateX(-90deg);background:linear-gradient(90deg,#1E2738,#3A465D,#1E2738)}
.stage-restaurant .rs-kds{position:absolute;left:20px;top:-148px;width:280px;height:172px;transform-origin:50% 100%;transform:translateZ(46px) rotateX(-72deg)}
.stage-restaurant .rs-kl{inset:0;border-radius:13px;background:#1C2434;transform:translateZ(calc(-9px + var(--k) * 1.8px))}
.stage-restaurant .rs-kl:nth-child(n+4){background:#2B3548}
.stage-restaurant .rs-kf{position:absolute;inset:0;padding:8px;border-radius:13px;background:#04070D;transform:translateZ(.6px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 0 80px -20px rgba(255,150,70,.5),0 0 60px -24px rgba(47,125,246,.6)}
.stage-restaurant .rs-ks{height:100%;border-radius:7px;overflow:hidden;padding:0 8px 8px;color:#EAF1FF;font:11px/1.3 var(--f-body);
  background:radial-gradient(90% 70% at 20% 0%,rgba(255,150,70,.1),transparent 60%),linear-gradient(180deg,#111929,#0A0F1B)}
.stage-restaurant .rs-kh{display:flex;align-items:center;gap:8px;height:26px;margin:0 -8px 7px;padding:0 10px;border-bottom:1px solid rgba(255,255,255,.07);font:500 9.5px/1 var(--f-mono);color:rgba(234,241,255,.55)}
.stage-restaurant .rs-kh b{font:600 11.5px/1 var(--f-disp);color:#fff;letter-spacing:-.01em}
.stage-restaurant .rs-kh time{margin-left:auto}
.stage-restaurant .rs-cnt{display:grid}
.stage-restaurant .rs-cnt em{grid-area:1/1;font-style:normal;color:#FFD27A;transition:opacity .3s}
.stage-restaurant .rs-cnt:has(.b.on) .a{opacity:0}
.stage-restaurant .rs-tl{display:flex;flex-direction:column;gap:5px}
.stage-restaurant .rs-kt{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px;height:33px;padding:0 9px 0 0;border-radius:7px;
  background:rgba(255,255,255,.045);box-shadow:inset 3px 0 0 #FEBC2E;transition:background .4s,box-shadow .4s,opacity .3s}
.stage-restaurant .rs-kt>b{justify-self:center;font:700 11px/1 var(--f-mono);color:#FFE2A8}
.stage-restaurant .rs-kt>span{font-size:11px;color:#E6EDF8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stage-restaurant .rs-kt>em{display:none;font:600 9.5px/1 var(--f-mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:#0B1A12;background:#3ED598;padding:4px 7px;border-radius:5px}
.stage-restaurant .rs-kt.hot{background:rgba(254,188,46,.16)}
.stage-restaurant .stage-3d.hovering .rs-kt:not(.hot){opacity:.45}
/* The new ticket: it opens a row at the top when it lands. */
.stage-restaurant .rs-kt.nw{display:none;background:rgba(254,188,46,.12)}
.stage-restaurant .stage-3d:not([data-on]) .rs-kt.nw.t4,.stage-restaurant .stage-3d[data-on="t4"] .rs-kt.nw.t4,
.stage-restaurant .stage-3d[data-on="t2"] .rs-kt.nw.t2,.stage-restaurant .stage-3d[data-on="t7"] .rs-kt.nw.t7{display:grid}
.js .stage-restaurant .rs-kt.nw{height:0;margin-bottom:-5px;opacity:0;overflow:hidden}
.js .stage-restaurant .rs-kt.nw.on{height:33px;margin-bottom:0;opacity:1;transition:height .45s var(--rs-ease),margin .45s var(--rs-ease),opacity .4s .1s,background .4s,box-shadow .4s}
.stage-restaurant .rs-kt.rd{background:rgba(62,213,152,.12);box-shadow:inset 3px 0 0 #3ED598}
.stage-restaurant .rs-kt.rd>b{color:#A7F3D0}
.stage-restaurant .rs-floor .rs-kt.rd .rs-tm{display:none}
.stage-restaurant .rs-kt.rd>em{display:inline-block}

/* Kitchen timers, mm:ss from a counted integer (no script). */
@property --rs-t{syntax:'<integer>';inherits:false;initial-value:0}
@property --rs-m{syntax:'<integer>';inherits:false;initial-value:0}
.stage-restaurant .rs-floor .rs-tm{position:static;display:inline;--rs-t:var(--t0);--rs-m:calc((var(--rs-t) - 30) / 60);counter-reset:rsm var(--rs-m) rss calc(var(--rs-t) - var(--rs-m) * 60);
  font:600 10px/1 var(--f-mono);font-style:normal;color:#FFE2A8;font-variant-numeric:tabular-nums}
.stage-restaurant .rs-tm::after{content:counter(rsm,decimal-leading-zero) ":" counter(rss,decimal-leading-zero)}
.stage-restaurant .rs-tm.run{animation:rs-run 3600s linear infinite;animation-delay:var(--dl)}
.stage-restaurant .rs-kt.nw.on .rs-tm{animation:rs-run var(--ffd) linear var(--ffc) forwards}
@keyframes rs-run{from{--rs-t:0}to{--rs-t:3600}}

/* ---------- Tables, chairs, labels ---------- */
.stage-restaurant .rs-tb{position:absolute;left:var(--x);top:var(--y);width:0;height:0;
  --c:rgba(255,255,255,.26);--g:rgba(140,180,255,0);--ink:#EAF1FF}
.stage-restaurant .rs-tb.st-ord,.stage-restaurant .rs-tb.o{--c:#FEBC2E;--g:rgba(254,188,46,.5);--ink:#FFE2A8}
.stage-restaurant .rs-tb.st-eat,.stage-restaurant .rs-tb.e{--c:#5AA0FF;--g:rgba(90,160,255,.5);--ink:#CFE1FF}
.stage-restaurant .rs-tb.st-pay,.stage-restaurant .rs-tb.p{--c:#3ED598;--g:rgba(62,213,152,.5);--ink:#C8F5DF}
.stage-restaurant .rs-sh{left:calc(var(--s) / -2 - 22px);top:calc(var(--s) / -2 - 22px);width:calc(var(--s) + 44px);height:calc(var(--s) + 44px);border-radius:50%;transform:translateZ(.5px);
  background:radial-gradient(closest-side,rgba(0,0,0,.6),rgba(0,0,0,.2) 55%,transparent),radial-gradient(closest-side,var(--g),transparent);transition:background .6s}
.stage-restaurant .rs-leg{left:-5px;top:-24px;width:10px;height:24px;transform-origin:50% 100%;transform:rotateX(-90deg);background:linear-gradient(90deg,#141B28,#2C374C,#141B28)}
.stage-restaurant .rs-top{left:calc(var(--s) / -2);top:calc(var(--s) / -2);width:var(--s);height:var(--s);transform:translateZ(calc(23px + var(--k) * 2px));background:#202A3C}
.stage-restaurant .rs-tb.r .rs-top{border-radius:50%}
.stage-restaurant .rs-tb.s .rs-top{border-radius:11px}
.stage-restaurant .rs-top.up{background:radial-gradient(circle at 38% 32%,#46546F,#2A3549 72%);box-shadow:inset 0 0 0 2px var(--c),0 0 22px var(--g);transition:box-shadow .6s}
.stage-restaurant .rs-ch{left:-12px;top:-11px;width:24px;height:22px;transform:rotateZ(var(--a)) translateY(calc(-1 * var(--r)))}
.stage-restaurant .rs-ch>.s{left:0;top:0;width:24px;height:22px;border-radius:6px;transform:translateZ(13px);background:#36435C;box-shadow:0 3px 0 #18202E}
.stage-restaurant .rs-ch>.b{left:2px;top:-15px;width:20px;height:15px;border-radius:5px 5px 2px 2px;transform-origin:50% 100%;transform:translateZ(13px) rotateX(-90deg);background:linear-gradient(180deg,#46557A,#2E3A52)}
.stage-restaurant .rs-lb{position:absolute;left:0;top:0;display:flex;align-items:center;gap:6px;padding:4px 9px 4px 7px;white-space:nowrap;border-radius:99px;
  transform:translate(-50%,-50%) translateZ(62px) rotateX(-55deg);background:rgba(7,11,20,.88);border:1px solid rgba(255,255,255,.14);font:600 10px/1 var(--f-mono);color:var(--ink);transition:color .5s}
.stage-restaurant .rs-lb>i{position:static;width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--g);transition:background .5s}
.stage-restaurant .rs-lb small{display:grid;font:500 9.5px/1 var(--f-body);color:rgba(234,241,255,.7)}
.stage-restaurant .rs-lb small em{grid-area:1/1;font-style:normal;opacity:0;transition:opacity .3s}
.stage-restaurant .rs-lb .s0{opacity:1}
.stage-restaurant .rs-tb.o .rs-lb .s0{opacity:0}.stage-restaurant .rs-tb.o .rs-lb .s1{opacity:1}
.stage-restaurant .rs-tb.e .rs-lb .s1{opacity:0}.stage-restaurant .rs-tb.e .rs-lb .s2{opacity:1}
.stage-restaurant .rs-tb.p .rs-lb .s2{opacity:0}.stage-restaurant .rs-tb.p .rs-lb .s3{opacity:1}
.stage-restaurant .rs-pk .rs-lb{padding:5px 10px 5px 8px;font-size:10.5px;border-color:rgba(255,255,255,.22)}
/* The table being followed: a ring on the floor */
.stage-restaurant .rs-sh::after{content:"";position:absolute;inset:8px;border-radius:50%;border:1.5px solid var(--c);opacity:0}
.stage-restaurant .stage-3d[data-on="t4"] .rs-tb[data-in="t4"] .rs-sh::after,.stage-restaurant .stage-3d[data-on="t2"] .rs-tb[data-in="t2"] .rs-sh::after,
.stage-restaurant .stage-3d[data-on="t7"] .rs-tb[data-in="t7"] .rs-sh::after{animation:rs-ring 2.2s ease-out infinite}
@keyframes rs-ring{0%{opacity:.9;transform:scale(.7)}100%{opacity:0;transform:scale(1.15)}}
.stage-restaurant .rs-hit{position:absolute;left:calc(var(--s) / -2 - 16px);top:calc(var(--s) / -2 - 16px);width:calc(var(--s) + 32px);height:calc(var(--s) + 32px);padding:0;border:0;border-radius:50%;
  background:transparent;cursor:pointer;pointer-events:auto;transform:translateZ(31px)}
.stage-restaurant .rs-tb:has(.rs-hit:hover) .rs-top.up{box-shadow:inset 0 0 0 2px #fff,0 0 26px rgba(255,255,255,.35)}
.stage-restaurant .rs-tb.hv .rs-top.up{pointer-events:auto}

/* The order ticket flying to the kitchen */
.stage-restaurant .rs-floor .rs-fly{position:absolute;left:0;top:0;display:flex;align-items:center;gap:7px;width:max-content;padding:6px 10px 6px 7px;border-radius:8px;
  background:#F4F6FA;color:#1A2230;font:600 10px/1.2 var(--f-body);box-shadow:0 12px 26px -10px rgba(0,0,0,.8),0 0 0 3px rgba(254,188,46,.35);opacity:0;
  transform:translate3d(var(--sx),var(--sy),44px) translate(-50%,-50%) rotateX(-55deg)}
.stage-restaurant .rs-fly b{font:700 10px/1 var(--f-mono);color:#7A4B00;background:#FEBC2E;padding:3px 5px;border-radius:4px}
.stage-restaurant .rs-floor .rs-fly.on{animation:rs-fly 1.15s cubic-bezier(.45,0,.3,1) forwards}
@keyframes rs-fly{
  0%{opacity:0;transform:translate3d(var(--sx),var(--sy),44px) translate(-50%,-50%) rotateX(-55deg)}
  14%{opacity:1}
  55%{transform:translate3d(calc((var(--sx) + var(--kx)) / 2),calc((var(--sy) + var(--ky)) / 2),200px) translate(-50%,-50%) rotateX(-55deg)}
  84%{opacity:1}
  100%{opacity:0;transform:translate3d(var(--kx),var(--ky),128px) translate(-50%,-50%) rotateX(-55deg)}
}

/* ---------- Floating panels ---------- */
.stage-restaurant .rs-pn{position:relative;border-radius:15px;color:#EAF1FF;font:12px/1.35 var(--f-body);
  background:linear-gradient(180deg,rgba(24,33,52,.95),rgba(11,15,25,.97));border:1px solid rgba(140,180,255,.2);
  box-shadow:0 40px 70px -36px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.09)}
.stage-restaurant .rs-bill{width:214px;padding-bottom:2px}
.stage-restaurant .rs-bv{display:none}
.stage-restaurant .stage-3d:not([data-on]) .rs-bv.t4,.stage-restaurant .stage-3d[data-on="t4"] .rs-bv.t4,
.stage-restaurant .stage-3d[data-on="t2"] .rs-bv.t2,.stage-restaurant .stage-3d[data-on="t7"] .rs-bv.t7{display:block}
.stage-restaurant .rs-ph{display:flex;align-items:center;gap:7px;padding:10px 13px 8px;border-bottom:1px solid rgba(255,255,255,.07)}
.stage-restaurant .rs-ph b{font:600 13.5px var(--f-disp);color:#fff;letter-spacing:-.01em}
.stage-restaurant .rs-ph small{font-size:10.5px;color:rgba(234,241,255,.5)}
.stage-restaurant .rs-pill{display:grid;margin-left:auto}
.stage-restaurant .rs-pill em{grid-area:1/1;justify-self:end;font:600 9px/1 var(--f-mono);font-style:normal;letter-spacing:.07em;text-transform:uppercase;padding:4px 7px;border-radius:99px;opacity:0;transition:opacity .3s}
.stage-restaurant .rs-pill .s0{opacity:1;color:rgba(234,241,255,.75);background:rgba(255,255,255,.08)}
.stage-restaurant .rs-pill .s1{color:#FFE2A8;background:rgba(254,188,46,.15)}
.stage-restaurant .rs-pill .s2{color:#CFE1FF;background:rgba(90,160,255,.18)}
.stage-restaurant .rs-pill .s3{color:#C8F5DF;background:rgba(62,213,152,.16)}
.stage-restaurant .rs-pill .s4{color:#0B1A12;background:#3ED598}
.stage-restaurant .rs-pill.o .s0{opacity:0}.stage-restaurant .rs-pill.o .s1{opacity:1}
.stage-restaurant .rs-pill.e .s1{opacity:0}.stage-restaurant .rs-pill.e .s2{opacity:1}
.stage-restaurant .rs-pill.p .s2{opacity:0}.stage-restaurant .rs-pill.p .s3{opacity:1}
.stage-restaurant .rs-pill.d .s3{opacity:0}.stage-restaurant .rs-pill.d .s4{opacity:1}
.stage-restaurant .rs-ln{padding:6px 13px 2px}
.stage-restaurant .rs-ln p{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:6px;margin:0;padding:3px 0;font-size:11.5px;color:rgba(234,241,255,.82)}
.stage-restaurant .rs-ln p b{font:600 11px var(--f-mono);color:#FFE2A8}
.stage-restaurant .rs-ln p em{font:500 11px var(--f-mono);font-style:normal;color:#fff;font-variant-numeric:tabular-nums}
.js .stage-restaurant .rs-ap{opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.js .stage-restaurant .rs-ap.on{opacity:1;transform:none}
.stage-restaurant .rs-tot{display:grid;grid-template-rows:1fr;margin:4px 10px 6px;padding:8px 10px 10px;border-radius:11px;background:rgba(62,213,152,.06);border:1px solid rgba(62,213,152,.22);
  transition:grid-template-rows .55s var(--rs-ease),opacity .4s .1s,padding .55s var(--rs-ease),margin .55s var(--rs-ease),border-color .4s}
.stage-restaurant .rs-in{min-height:0;overflow:hidden}
.js .stage-restaurant .rs-tot:not(.on){grid-template-rows:0fr;opacity:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-color:transparent;transition-duration:.01s}
.stage-restaurant .rs-tot p{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding:1px 0;font-size:10.5px;color:rgba(234,241,255,.62)}
.stage-restaurant .rs-tot p b{font:500 10.5px var(--f-mono);color:#E6EDF8;font-variant-numeric:tabular-nums}
.stage-restaurant .rs-tot p.g{font-size:11.5px;font-weight:600;color:#fff}
.stage-restaurant .rs-tot p.g b{font:700 15px var(--f-disp);color:#fff;letter-spacing:-.01em}
.stage-restaurant .rs-tot p.rs-sp{margin-top:6px;font:500 9px/1 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:rgba(234,241,255,.5)}
.stage-restaurant .rs-gs{display:grid;gap:4px;margin-top:6px}
.stage-restaurant .rs-g{display:grid;grid-template-columns:minmax(0,1fr) auto 14px;align-items:center;gap:8px;padding:4px 7px 4px 9px;border-radius:7px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);transition:background .35s,border-color .35s}
.stage-restaurant .rs-g small{font-size:10px;color:rgba(234,241,255,.6)}
.stage-restaurant .rs-g b{font:600 11px var(--f-mono);color:#fff;font-variant-numeric:tabular-nums}
.stage-restaurant .rs-g i{position:relative;width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.1);transition:background .3s}
.stage-restaurant .rs-g.ok{background:rgba(62,213,152,.12);border-color:rgba(62,213,152,.42)}
.stage-restaurant .rs-g.ok small{color:#A7F3D0}
.stage-restaurant .rs-g.ok i{background:#1F9D63}
.stage-restaurant .rs-g.ok i::after{content:"";position:absolute;left:4.8px;top:2.4px;width:3px;height:6.5px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}
.stage-restaurant .rs-wait{display:grid;margin:8px 13px 7px;font:500 9.5px/1.35 var(--f-mono);color:rgba(234,241,255,.55)}
.stage-restaurant .rs-wait>span{grid-area:1/1;transition:opacity .3s}
.stage-restaurant .rs-wait:has(.on) .w0{opacity:0}
.stage-restaurant .rs-wait .w1,.stage-restaurant .rs-wait .w2{color:#FFD27A}
.stage-restaurant .rs-bv:has(.rs-tot.on) .rs-wait{display:none}
html:not(.js) .stage-restaurant .rs-wait{display:none}

.stage-restaurant .rs-sel{display:flex;align-items:center;gap:6px;padding:8px 9px 8px 13px;border-radius:13px;white-space:nowrap}
.stage-restaurant .rs-sel>small{margin-right:4px;font:500 9px/1 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:rgba(234,241,255,.55)}
.stage-restaurant .rs-sel button{padding:6px 9px;border-radius:8px;cursor:pointer;pointer-events:auto;font:600 10.5px/1 var(--f-body);color:rgba(234,241,255,.75);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);transition:color .25s,background .25s,border-color .25s}
.stage-restaurant .rs-sel button:hover{color:#fff;border-color:rgba(90,160,255,.6)}
.stage-restaurant .rs-sel button.cur{color:#fff;background:rgba(47,125,246,.28);border-color:rgba(120,180,255,.8)}
.stage-restaurant .rs-key{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:16px;padding-right:26px}
.stage-restaurant .rs-key em{display:inline-flex;align-items:center;gap:5px;font:500 9.5px/1 var(--f-mono);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:rgba(234,241,255,.62)}
.stage-restaurant .rs-key em::before{content:"";width:8px;height:8px;border-radius:50%}
.stage-restaurant .rs-key .k-free::before{background:rgba(255,255,255,.3)}
.stage-restaurant .rs-key .k-ord::before{background:#FEBC2E}
.stage-restaurant .rs-key .k-eat::before{background:#5AA0FF}
.stage-restaurant .rs-key .k-pay::before{background:#3ED598}

/* ---------- Without script: show table 4 at the bill ---------- */
html:not(.js) .stage-restaurant .rs-tb[data-in="t4"]{--c:#3ED598;--g:rgba(62,213,152,.5);--ink:#C8F5DF}
html:not(.js) .stage-restaurant .rs-tb[data-in="t4"] .rs-lb .s0,html:not(.js) .stage-restaurant .rs-pill .s0{opacity:0}
html:not(.js) .stage-restaurant .rs-tb[data-in="t4"] .rs-lb .s3,html:not(.js) .stage-restaurant .rs-pill .s3{opacity:1}
html:not(.js) .stage-restaurant .rs-kt.nw.t4{background:rgba(62,213,152,.12);box-shadow:inset 3px 0 0 #3ED598}
html:not(.js) .stage-restaurant .rs-floor .rs-kt.nw.t4 .rs-tm{display:none}
html:not(.js) .stage-restaurant .rs-kt.nw.t4>em{display:inline-block}

/* ---------- Phones ---------- */
@media (max-width:899px){
  .stage-restaurant .rs-tb:not(.rs-pk) .rs-lb{display:none}
  .stage-restaurant .rs-key{display:none}
}

@media (prefers-reduced-motion:reduce){
  .stage-restaurant .rs-floor,.stage-restaurant .rs-floor *{animation:none}
}
