/* desktop pages: live reservation, filters, small fixes. Loaded after each page's own inline CSS. */
button{font:inherit}
.nr .rs{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.nr .rs b{font-weight:inherit}
.nr .rs.bump{animation:mlbump .35s}
@keyframes mlbump{40%{transform:scale(1.12)}}
a.im{display:block}
.pc .bd .btn{margin-top:auto!important}
.pc .ft{flex-wrap:wrap;gap:2px 10px}
.pc .pr small{white-space:nowrap}
.stock{white-space:nowrap}
.pc .btn.done{background:#0B6E5A}
.tb button,.tabs button{height:42px;padding:0 18px;border-radius:6px;display:flex;align-items:center;gap:9px;background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.tabs button{height:40px}
.tb button.on,.tabs button.on{background:var(--ink);color:#fff}
.tb i,.tabs i{width:10px;height:10px;border-radius:50%;display:block}
.sel .dd{position:relative}
.sel .dd>button{height:42px;padding:0 18px;border-radius:6px;display:flex;align-items:center;background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}
.sel .dd>button.on{background:var(--ink);color:#fff}
.sel .dd ul{position:absolute;right:0;top:48px;z-index:20;margin:0;padding:6px;list-style:none;min-width:200px;border-radius:10px;background:var(--label);box-shadow:0 24px 40px -16px rgba(16,24,69,.55),inset 0 0 0 1px rgba(16,24,69,.15)}
.sel .dd ul[hidden]{display:none}
.sel .dd li button{display:flex;width:100%;align-items:center;gap:10px;padding:11px 14px;border-radius:6px;text-align:left}
.sel .dd li button:hover,.sel .dd li button.on{background:rgba(16,24,69,.08)}
.sel .dd li i{width:10px;height:10px;border-radius:50%}
.empty{grid-column:1/-1;padding:60px 0;text-align:center;color:var(--mute)}
.empty[hidden]{display:none}
.more .btn[hidden]{display:none}
.wts div,.sl3 div,.th .ph,.q b{cursor:pointer}
.wts div:focus-visible,.sl3 div:focus-visible,.q b:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.hr.on{background:var(--ink);color:#fff}
input.inp{font:inherit;font-size:20px;color:var(--ink);border:0;outline:0;min-width:0}
input.inp:focus-visible{box-shadow:inset 0 0 0 2px var(--ink2)}
.ok.no{background:rgba(255,169,196,.75);box-shadow:inset 0 0 0 1px #A12C4E;color:#6B1630}
.ok.no:before{content:"!";background:#A12C4E}
.js-acc .q p{display:none}
.js-acc .q.open p{display:block}
.js-acc .q b span{transition:transform .2s}
.js-acc .q.open b span{transform:rotate(45deg)}
.box{scroll-margin-top:24px}

/* reservation drawer (desktop) and the inline slip on the shop page */
.dr{position:fixed;inset:0;z-index:100;pointer-events:none}
.dr .bk{position:absolute;inset:0;background:rgba(16,24,69,.45);opacity:0;transition:opacity .25s}
.dr .pn{position:absolute;right:0;top:0;bottom:0;width:420px;max-width:100%;overflow:auto;padding:28px 24px;transform:translateX(105%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.dr.open{pointer-events:auto}
.dr.open .bk{opacity:1}
.dr.open .pn{transform:none}
.dr .x{position:absolute;right:34px;top:36px;z-index:2;width:38px;height:38px;border-radius:50%;font-size:22px;line-height:1;box-shadow:inset 0 0 0 1px var(--ink);background:var(--label)}
.dr .slip{margin-bottom:12px}
.slip .stamp{pointer-events:none}
.dr .slip .stamp{right:64px}
.slip .it>div:nth-child(2) b+span{display:block;margin-top:2px}
.slip .qy{display:flex;align-items:center;gap:10px;margin-top:8px}
.slip .qy button{width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--ink);line-height:1}
.slip .qy button:hover{background:var(--ink);color:#fff}
.slip .qy span{min-width:16px;text-align:center;color:var(--ink)}
.slip .sl button{flex:1;text-align:center;padding:11px 0;border-radius:6px;box-shadow:inset 0 0 0 1px var(--ink)}
.slip .sl button.on{background:var(--holo)}
.slip .none,.slip .dn{margin:0 0 24px;color:var(--mute)}
.slip .no{margin:0 0 24px;color:var(--ink2)}
.slip button.btn{border:0}
.pg>.fb{z-index:6}
.tb button,.tabs button,.sel .dd>button,.sel .dd li button{letter-spacing:inherit;text-transform:inherit}
.sel .dd>button b{margin-left:.5em;font-weight:inherit}

/* slip styles, repeated here because only the shop page carries them inline; the drawer needs them on every page */
.slip{position:relative;background:var(--label);border-radius:6px;padding:30px 26px 34px;box-shadow:0 36px 50px -30px rgba(16,24,69,.6)}
.slip:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:12px;background:radial-gradient(circle at 8px 0,transparent 6px,var(--label) 6.5px) 0 0/16px 12px repeat-x;transform:rotate(180deg)}
.slip h3{margin:12px 0 18px;font-size:44px;font-weight:400;max-width:calc(100% - 92px)}
.slip .it{display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-top:1px dashed rgba(16,24,69,.4)}
.slip .th{width:60px;height:60px;border-radius:8px}
.slip .it b{font-weight:500;display:block;line-height:1.2}
.slip .it span{color:var(--mute)}
.slip .qy span{color:var(--ink)}
.slip .tot{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 4px;border-top:1px solid var(--ink)}
.slip .tot b{font-size:44px;font-weight:400}
.slip .sl{display:flex;gap:8px;margin:12px 0 20px}
.slip small{display:block;margin-top:14px;text-align:center;color:var(--mute);font-size:12.5px}
.slip .stamp{position:absolute;right:14px;top:14px}
.slip .btn.h{background:var(--holo);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 14px 28px -14px rgba(16,24,69,.55)}
.slip .btn.f{width:100%;justify-content:center}
.ph{background-size:cover;background-position:center}
