/* Rail Café — order tray drawer, table picker, captcha & toast (rc-tray*) */
.rc-tray-fab{position:fixed;left:1rem;bottom:calc(var(--rc-nav-h) + var(--rc-safe-bottom) + 1rem);z-index:90;display:flex;align-items:center;gap:.6rem;min-height:50px;padding:.6rem 1.15rem;border:1px solid rgba(0,127,255,.4);border-radius:var(--rc-r-pill);background:linear-gradient(155deg,rgba(0,127,255,.18),rgba(15,19,28,.96));color:var(--rc-white);font:600 .8rem var(--rc-font-body);box-shadow:0 16px 40px rgba(0,0,0,.5),0 0 24px rgba(0,127,255,.16);cursor:pointer;transform:translateZ(0);transition:transform var(--rc-transition-fast),box-shadow var(--rc-transition-fast)}
.rc-tray-fab:hover{transform:translateY(-2px) translateZ(0);box-shadow:0 20px 48px rgba(0,0,0,.55),0 0 30px rgba(0,127,255,.28)}
.rc-tray-fab:focus-visible{outline:2px solid var(--rc-blue);outline-offset:2px}
.rc-tray-fab__label{white-space:nowrap}
.rc-tray-fab__count{display:grid;place-items:center;min-width:24px;height:24px;padding:0 .3rem;border-radius:50%;background:var(--rc-blue);color:#fff;font-size:.7rem;font-weight:700}

.rc-tray{position:fixed;inset:0;z-index:1200;pointer-events:none}
.rc-tray.is-open{pointer-events:auto}
.rc-tray__veil{position:absolute;inset:0;background:rgba(5,7,12,.88);opacity:0;transition:opacity var(--rc-transition)}
.rc-tray.is-open .rc-tray__veil{opacity:1}
.rc-tray__panel{position:absolute;top:0;left:0;width:min(520px,100%);height:100%;display:flex;flex-direction:column;border-left:1px solid var(--rc-line);background:linear-gradient(165deg,rgba(42,49,64,.98),rgba(8,11,17,.99));box-shadow:var(--rc-shadow);transform:translateX(-100%);transition:transform var(--rc-transition)}
.rc-tray.is-open .rc-tray__panel{transform:none}

.rc-tray__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.4rem;border-bottom:1px solid var(--rc-line)}
.rc-tray__kicker{display:block;color:var(--rc-blue);font:600 .6rem var(--rc-font-display);letter-spacing:.14em;text-transform:uppercase}
.rc-tray__head h2{margin:.25rem 0 0;color:var(--rc-white);font:600 1.35rem var(--rc-font-display)}
.rc-tray__close{flex:none;width:42px;height:42px;border:1px solid var(--rc-line);border-radius:50%;background:transparent;color:var(--rc-white);font-size:1.35rem;line-height:1;cursor:pointer;transition:border-color var(--rc-transition-fast),color var(--rc-transition-fast)}
.rc-tray__close:hover{border-color:var(--rc-blue);color:var(--rc-blue)}
.rc-tray__close:focus-visible{outline:2px solid var(--rc-blue);outline-offset:2px}

.rc-tray__body{flex:1;padding:1.1rem 1.4rem 2.2rem;overflow-y:auto}
.rc-tray__empty{padding:2.4rem 1rem;color:var(--rc-muted);text-align:center}

.rc-tray__summary{margin:1.1rem 0;padding:1.1rem;border:1px solid var(--rc-line);border-radius:var(--rc-r-md);background:rgba(5,7,12,.4)}
.rc-tray__row{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;color:var(--rc-muted);font-size:.8rem}
.rc-tray__row strong{color:var(--rc-silver);font-weight:600}
.rc-tray__row--discount strong{color:var(--rc-blue)}
.rc-tray__row--payable{margin-top:.65rem;padding-top:.8rem;border-top:1px solid var(--rc-line);font-size:.92rem}
.rc-tray__row--payable strong{color:var(--rc-white);font:700 1.05rem var(--rc-font-display)}

.rc-tray__form{display:grid;gap:1rem}
.rc-tray__note{color:#5f6772;font-size:.7rem;line-height:1.6}

.rc-field{display:grid;gap:.4rem}
.rc-field label,.rc-field>span{color:var(--rc-muted);font-size:.76rem;font-weight:600}

.rc-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.55rem}
.rc-mode input{position:absolute;opacity:0;pointer-events:none}
.rc-mode__face{display:grid;place-items:center;min-height:48px;border:1px solid var(--rc-line);border-radius:var(--rc-r-pill);color:var(--rc-muted);font-size:.82rem;cursor:pointer;transition:border-color var(--rc-transition-fast),background var(--rc-transition-fast),color var(--rc-transition-fast)}
.rc-mode input:checked+.rc-mode__face{border-color:var(--rc-blue);background:rgba(0,127,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(0,127,255,.25)}
.rc-mode input:focus-visible+.rc-mode__face{outline:2px solid var(--rc-blue);outline-offset:2px}

.rc-tables__group{margin:.85rem 0}
.rc-tables__group:first-child{margin-top:0}
.rc-tables__label{display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;color:var(--rc-muted);font-size:.74rem;font-weight:600}
.rc-tables__label i{color:var(--rc-blue)}
.rc-tables__hint{margin:0 0 .5rem;color:#5f6772;font-size:.68rem;line-height:1.6}
.rc-tables__empty{margin:0;padding:.85rem;border:1px dashed var(--rc-line);border-radius:var(--rc-r-sm);color:var(--rc-muted);font-size:.78rem;text-align:center}
.rc-tables__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}

.rc-table-chip{position:relative;display:grid;place-items:center;gap:.1rem;min-height:60px;padding:.4rem;border:1px solid var(--rc-line);border-radius:var(--rc-r-sm);background:#05070c;color:var(--rc-silver);cursor:pointer;transition:border-color var(--rc-transition-fast),box-shadow var(--rc-transition-fast),background var(--rc-transition-fast)}
.rc-table-chip strong{font:700 .92rem var(--rc-font-display)}
.rc-table-chip small{color:var(--rc-muted);font-size:.58rem}
.rc-table-chip:hover:not(:disabled){border-color:rgba(0,127,255,.4)}
.rc-table-chip:focus-visible{outline:2px solid var(--rc-blue);outline-offset:2px}
.rc-table-chip.is-selected{border-color:var(--rc-blue);background:rgba(0,127,255,.1);box-shadow:0 0 22px rgba(0,127,255,.18)}
.rc-table-chip.is-selected small{color:var(--rc-sky)}
.rc-table-chip.is-reserved{border-style:dashed;border-color:rgba(185,227,255,.3)}
.rc-table-chip.is-reserved small{color:var(--rc-sky)}
.rc-table-chip.is-reserved.is-selected{border-style:solid}
.rc-table-chip.is-busy,.rc-table-chip:disabled{opacity:.35;cursor:not-allowed}

.rc-captcha{display:grid;grid-template-columns:1fr auto;gap:.5rem}
.rc-captcha .rc-btn{min-height:50px;padding:0 1.1rem}

.rc-note{padding:.85rem 1rem;border:1px solid var(--rc-line);border-radius:var(--rc-r-sm);color:var(--rc-muted);font-size:.76rem;line-height:1.6}
.rc-note.is-error{border-color:rgba(224,90,90,.4);background:rgba(224,90,90,.08);color:#f3a3a3}
.rc-note.is-success{border-color:rgba(0,127,255,.4);background:rgba(0,127,255,.08);color:var(--rc-sky)}

/* --- polished steel/blue metal submit button --- */
.rc-tray .flr-order-submit{width:100%;min-height:54px;border:1px solid rgba(197,204,216,.3);border-radius:var(--rc-r-pill);background:linear-gradient(165deg,#dfe4ea,var(--rc-silver) 45%,#9aa4b3);color:#0a0e14;font:700 .92rem var(--rc-font-body);letter-spacing:.01em;cursor:pointer;box-shadow:0 16px 34px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.5);transition:transform var(--rc-transition-fast),box-shadow var(--rc-transition-fast),background var(--rc-transition-fast)}
.rc-tray .flr-order-submit:hover{transform:translateY(-2px);background:linear-gradient(165deg,#eef2f6,#c5ccd8 45%,var(--rc-blue-darker));box-shadow:0 22px 44px rgba(0,0,0,.4)}
.rc-tray .flr-order-submit:focus-visible{outline:2px solid var(--rc-blue);outline-offset:3px}
.rc-tray .flr-order-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}

/* --- cart line items (classes injected by order.js) --- */
.flr-order-item{display:grid;grid-template-columns:56px 1fr auto;gap:.75rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--rc-line)}
.flr-order-item:last-child{border-bottom:0}
.flr-order-item__img{width:56px;aspect-ratio:1;overflow:hidden;border-radius:var(--rc-r-sm);background:#05070c}
.flr-order-item__img img{width:100%;height:100%;object-fit:cover}
.flr-order-item__meta{display:grid;gap:.15rem;min-width:0}
.flr-order-item__title{overflow:hidden;margin:0;color:var(--rc-white);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}
.flr-order-item__price{color:var(--rc-muted);font-size:.68rem}
.flr-order-item__price s{margin-left:.3rem;opacity:.6}
.flr-order-item__off{margin-right:.3rem;color:var(--rc-blue);font-style:normal}

.rc-tray .flr-qty{display:flex;align-items:center;gap:.15rem}
.rc-tray .flr-qty__btn{width:29px;height:29px;border:1px solid var(--rc-line);border-radius:50%;background:var(--rc-chrome);color:var(--rc-silver);cursor:pointer;transition:background var(--rc-transition-fast),color var(--rc-transition-fast)}
.rc-tray .flr-qty__btn:hover{background:var(--rc-blue);color:#fff}
.rc-tray .flr-qty__btn:focus-visible{outline:2px solid var(--rc-blue);outline-offset:2px}
.rc-tray .flr-qty__value{min-width:1.3rem;text-align:center;color:var(--rc-white);font-size:.74rem;font-variant-numeric:tabular-nums}

.rc-toast{position:fixed;right:50%;bottom:calc(var(--rc-nav-h) + var(--rc-safe-bottom) + 1rem);z-index:1400;padding:.75rem 1.2rem;border:1px solid rgba(0,127,255,.35);border-radius:var(--rc-r-pill);background:rgba(15,19,28,.98);color:var(--rc-white);font-size:.82rem;box-shadow:var(--rc-shadow);transform:translateX(50%) translateY(8px);opacity:0;pointer-events:none;transition:opacity var(--rc-transition-fast),transform var(--rc-transition-fast)}
.rc-toast.is-visible{transform:translateX(50%) translateY(0);opacity:1;pointer-events:auto}

@media(min-width:961px){
    .rc-tray-fab{bottom:1.6rem}
    .rc-toast{bottom:1.6rem}
}
@media(max-width:480px){
    .rc-tables__grid{grid-template-columns:repeat(3,1fr)}
    .rc-modes{grid-template-columns:1fr 1fr}
    .rc-tray__head{padding:1.1rem}
    .rc-tray__body{padding:1rem 1.1rem 2rem}
}
@media(max-width:360px){
    .rc-tables__grid{grid-template-columns:repeat(2,1fr)}
}
