/* venn · private dining · a rough price (18 Oct 2026). Opens from .pd-calc-btn under the price guide.
   Computers: a panel from the right. Phones: a sheet from the bottom, the total and the button always in view. */
/* the panel's colours: olive (Snider's pick, 18 Oct 2026, from paper, olive, clay and ink) */
:root{--pc-bg:#2E3A2F;--pc-foot:#263027;--pc-fg:#EDE8DA;--pc-strong:#F7F2E8;--pc-muted:rgba(237,232,218,.76);--pc-line:rgba(237,232,218,.17);--pc-edge:rgba(237,232,218,.45);--pc-field:rgba(237,232,218,.05);--pc-soft:rgba(237,232,218,.07);--pc-acc:#E9B36A;--pc-acc-hi:#F0C383;--pc-acc-ink:#1E241E;--pc-acc-text:#E9B36A;--pc-acc-soft:rgba(233,179,106,.12)}

.pd-calc-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:440px;margin-top:22px;padding:16px 16px 16px 20px;border:0;background:var(--pc-bg);color:var(--pc-strong);font:inherit;text-align:left;cursor:pointer;box-shadow:0 10px 30px rgba(20,14,24,.28);transition:transform .2s ease,box-shadow .2s ease}
.pd-calc-btn:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(20,14,24,.36)}
.pd-calc-btn:focus-visible{outline:2px solid var(--lamp);outline-offset:3px}
.pd-calc-btn__t{display:grid;gap:4px;min-width:0}
.pd-calc-btn__t b{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.05}
.pd-calc-btn__t small{font-size:.85rem;line-height:1.35;color:var(--pc-muted)}
.pd-calc-btn__i{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--pc-acc);color:var(--pc-acc-ink);transition:transform .2s ease}
.pd-calc-btn:hover .pd-calc-btn__i{transform:rotate(-8deg) scale(1.05)}
.pd-calc-btn + .pd-jump{margin-top:18px}
@media (prefers-reduced-motion:reduce){.pd-calc-btn,.pd-calc-btn__i{transition:none}.pd-calc-btn:hover{transform:none}}
html.pc-open{overflow:hidden}
/* phones: quick taps on + and − were read as a double tap and zoomed the page; manipulation keeps taps as taps
   (pinch zoom still works) */
.pd-calc-btn,.pc,.pc *{touch-action:manipulation}
.pc{-webkit-text-size-adjust:100%;text-size-adjust:100%}

.pc{position:fixed;inset:0;z-index:100001;font-family:var(--sans);--fg:var(--pc-fg);--strong:var(--pc-strong);--muted:var(--pc-muted);--line:var(--pc-line);--edge:var(--pc-edge);--field:var(--pc-field);color:var(--fg)}
.pc[hidden]{display:none}
.pc__shade{position:absolute;inset:0;background:rgba(20,15,22,.55);opacity:0;transition:opacity .25s}
.pc__sheet{position:absolute;top:0;right:0;bottom:0;width:min(480px,100%);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--pc-bg);box-shadow:-20px 0 60px rgba(0,0,0,.35);transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.pc.is-in .pc__shade{opacity:1}
.pc.is-in .pc__sheet{transform:none}
.pc__top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 14px 28px;border-bottom:1px solid var(--line)}
.pc__top h2{font-family:var(--serif);font-weight:300;font-size:2rem;line-height:1;color:var(--strong)}
.pc__x{position:relative;width:44px;height:44px;border:0;background:none;cursor:pointer}
.pc__x::before,.pc__x::after{content:"";position:absolute;left:12px;right:12px;top:50%;height:1.5px;background:var(--strong)}
.pc__x::before{transform:rotate(45deg)}.pc__x::after{transform:rotate(-45deg)}
.pc__body{overflow-y:auto;overscroll-behavior:contain;padding:6px 28px 28px;-webkit-overflow-scrolling:touch}

.pc-sec{padding:22px 0;border-bottom:1px solid var(--line)}
.pc-sec:last-child{border-bottom:0}
.pc-sec h3{font-family:var(--serif);font-weight:300;font-size:1.45rem;line-height:1.1;color:var(--strong);margin-bottom:12px}
.pc-sec h4{margin-top:22px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.2rem;color:var(--fg)}
.pc-note{margin-top:8px;font-size:.85rem;line-height:1.5;color:var(--muted)}
.pc-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:6px 0}
.pc-row > span{display:grid;gap:2px;min-width:0;font-size:.98rem;line-height:1.3}
.pc-row small{font-size:.8rem;color:var(--muted)}
.pc-bottles{list-style:none;margin:10px 0 0;padding:0}
.pc-row--b{border-top:1px solid var(--pc-line)}
.pc-bn{font-weight:400;color:var(--fg)}
.pc-off{justify-self:start;margin-top:3px;padding:1px 7px;font-style:normal;font-size:.72rem;letter-spacing:.02em;color:var(--pc-acc-ink);background:var(--pc-acc)}

.pc-step{flex:none;display:flex;align-items:center;border:1px solid var(--line)}
.pc-step__b{width:44px;height:44px;border:0;background:none;color:var(--fg);font-size:1.15rem;cursor:pointer}
.pc-step__b:disabled{opacity:.3;cursor:default}
.pc-step__b:not(:disabled):hover{background:var(--pc-soft)}
.pc-step__b:focus-visible{outline:2px solid var(--pc-acc-text);outline-offset:-2px}
.pc-step__n{min-width:3.6em;text-align:center;font-variant-numeric:tabular-nums;font-size:1rem}

/* the menu: three choices, each with a round check; "some of each" opens two counters that always add up to the group */
.pc-opts{display:grid;gap:8px}
.pc-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:12px 14px;border:1px solid var(--line);background:var(--field);color:var(--fg);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.pc-opt:hover{border-color:var(--edge)}
.pc-opt__c{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--edge);color:transparent;transition:background .15s,border-color .15s,color .15s}
.pc-opt__t{display:grid;gap:2px;min-width:0}
.pc-opt__t b{font-family:var(--serif);font-weight:400;font-size:1.25rem;line-height:1.1;color:var(--strong)}
.pc-opt__t small{font-size:.82rem;color:var(--muted)}
.pc-opt.is-on{border-color:var(--pc-acc);background:var(--pc-acc-soft)}
.pc-opt.is-on .pc-opt__c{background:var(--pc-acc);border-color:var(--pc-acc);color:var(--pc-acc-ink)}
.pc-opt:focus-visible{outline:2px solid var(--pc-acc-text);outline-offset:2px}
.pc-mix{margin-top:6px;padding:4px 0 0 38px;border-left:0}
.pc-mix[hidden]{display:none}
.pc-mix .pc-note{margin-top:2px}
@media (max-width:700px){.pc-mix{padding-left:0}.pc-opt__t b{font-size:1.15rem}}
@media (prefers-reduced-motion:reduce){.pc-opt,.pc-opt__c{transition:none}}
.pc-all{margin:2px 0 4px;padding:6px 0;border:0;background:none;color:var(--pc-acc-text);font:inherit;font-size:.88rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:currentColor}
.pc-all[hidden]{display:none}
.pc-all:focus-visible{outline:2px solid var(--pc-acc-text);outline-offset:2px}

.pc-check{cursor:pointer}
.pc-check[hidden]{display:none}
.pc-check input{position:absolute;opacity:0;width:1px;height:1px}
.pc-check i{flex:none;position:relative;width:46px;height:28px;border:1px solid var(--edge);border-radius:14px;transition:background .2s,border-color .2s}
.pc-check i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--fg);transition:transform .2s}
.pc-check input:checked + i{background:var(--pc-acc);border-color:var(--pc-acc)}
.pc-check input:checked + i::after{transform:translateX(18px);background:var(--pc-acc-ink)}
.pc-check input:focus-visible + i{outline:2px solid var(--pc-acc-text);outline-offset:3px}
.pc-lines li.is-min span:last-child{color:var(--strong)}
.pc-lab{display:inline-flex;align-items:center;gap:8px}
.pc-info{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid var(--edge);border-radius:50%;background:none;color:var(--fg);font:italic 400 .8rem/1 var(--serif);cursor:pointer;position:relative}
.pc-info::before{content:"";position:absolute;inset:-11px}
.pc-info[aria-expanded="true"]{background:var(--pc-acc);border-color:var(--pc-acc);color:var(--pc-acc-ink)}
.pc-info:focus-visible{outline:2px solid var(--pc-acc-text);outline-offset:2px}
.pc-tip{margin:4px 0 6px;padding:10px 12px;border-left:2px solid var(--pc-acc-text);background:var(--pc-soft);font-size:.85rem;line-height:1.5;color:var(--fg)}
.pc-sugg{margin-top:2px;font-size:.85rem;color:var(--muted)}
.pc-sugg .pc-all{margin:0 0 0 4px;padding:2px 0}
.pc-lines{list-style:none;margin:0;padding:0}
.pc-lines li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;font-size:.92rem;line-height:1.35;border-bottom:1px dotted var(--pc-line)}
.pc-lines li span:last-child{flex:none;font-variant-numeric:tabular-nums;color:var(--strong)}
.pc-lines li.is-off span:last-child{color:var(--pc-acc-text)}
.pc-lines li.is-tbc span:last-child,.pc-lines li.is-gift span:last-child{color:var(--muted)}
.pc-lines li.is-gift span:first-child{font-family:var(--serif);font-style:italic;font-size:1.08rem;color:var(--pc-acc-text)}
.pc-fine{margin-top:14px;font-size:.82rem;line-height:1.5;color:var(--muted)}

.pc__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px)) 28px;border-top:1px solid var(--line);background:var(--pc-foot)}
.pc-total{display:grid;gap:2px;min-width:0}
.pc-total b{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1;color:var(--strong);font-variant-numeric:tabular-nums}
.pc-total small{font-size:.78rem;color:var(--muted)}
.pc-go{flex:none;min-height:48px;padding:0 18px;border:0;background:var(--pc-acc);color:var(--pc-acc-ink);font:inherit;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .15s}
.pc-go:hover{background:var(--pc-acc-hi)}
.pc-go:focus-visible{outline:2px solid var(--pc-acc-text);outline-offset:3px}

@media (max-width:700px){
  .pd-calc-btn{max-width:none}
  .pd-calc-btn + .pd-jump{display:block;width:max-content}
  .pc__sheet{top:auto;left:0;width:100%;height:min(92dvh,100%);max-height:92vh;transform:translateY(100%);box-shadow:0 -20px 60px rgba(0,0,0,.4)}
  .pc__sheet::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--pc-edge)}
  .pc__top{padding:22px 10px 12px 20px}
  .pc__top h2{font-size:1.75rem}
  .pc__body{padding:0 20px 24px}
  .pc__foot{padding-left:20px;padding-right:16px}
  .pc-total b{font-size:1.4rem;white-space:nowrap}
  .pc-go{padding:0 14px;font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){.pc__sheet,.pc__shade{transition:none}}
