.app-shell{transition:transform .55s var(--ease)}body.booking-open .app-shell{transform:translate(-100%)}body.booking-open{overflow:hidden}.booking-panel{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:#f2f0ec;transform:translate(100%);transition:transform .55s var(--ease)}body.booking-open .booking-panel{transform:translate(0)}.booking-panel[inert]{pointer-events:none}.booking-panel .booking{flex:1 0 auto;border-bottom:0}.booking-panel__back{position:sticky;top:0;z-index:2;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:14px var(--gutter);font-family:var(--font-mono);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#f2f0ec;border:0;cursor:pointer}.booking-panel__back .arrow{font-size:15px;transition:transform .16s var(--ease)}.booking-panel__back:hover .arrow{transform:translate(-4px)}.booking-panel__back:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.booking-panel .booking{padding-top:clamp(12px,3vh,32px)}.booking{--bg: #f2f0ec}.booking__head{display:flex;flex-direction:column;gap:12px;max-width:30ch}.booking__title{font-family:var(--font-accent);font-weight:700;text-transform:uppercase;font-size:clamp(32px,5.6vw,76px);line-height:.94;letter-spacing:-.035em;margin:4px 0 0;color:var(--fg)}.booking__intro{margin:0;max-width:56ch;font-size:clamp(15px,1.7vw,18px);line-height:1.55;color:var(--fg-dim)}.booking__widget{width:100%;margin-top:clamp(28px,4vh,48px)}.booking [hidden]{display:none!important}.booking__msg{font-family:var(--font-mono);font-size:13px;line-height:1.45;padding:12px 14px;border:1.5px solid;margin:0 0 18px}.booking__msg--err{border-color:#c1372a;color:#9e2b1e;background:#c1372a0f}.booking__msg--warn{border-color:var(--line-strong);color:var(--fg-dim);margin:4px 0 0}.booking__pick{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(18px,3vw,40px);align-items:start}@media(max-width:760px){.booking__pick{grid-template-columns:1fr}}.booking__cal{border:1.5px solid var(--line-strong);background:var(--panel);padding:clamp(12px,2vw,18px)}.booking__cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.booking__cal-title{flex:1;text-align:center;margin:0;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}.booking__cal-nav{width:38px;height:38px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:17px;line-height:1;color:var(--fg);background:transparent;border:1.5px solid var(--line-strong);cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease)}.booking__cal-nav:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--ink)}.booking__cal-nav:disabled{opacity:.3;cursor:not-allowed}.booking__cal-nav:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.booking__cal-grid{display:flex;flex-direction:column;gap:4px}.booking__cal-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.booking__cal-dow{text-align:center;padding:4px 0;font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-dim)}.booking__day{min-height:40px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:13px;color:var(--fg);background:transparent;border:1.5px solid transparent;cursor:default;transition:background .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}.booking__day--empty{visibility:hidden}.booking__day.is-avail{border-color:var(--line-strong);font-weight:700;cursor:pointer}.booking__day.is-avail:hover,.booking__day.is-selected{background:var(--accent);border-color:var(--accent);color:var(--ink)}.booking__day[aria-disabled=true]{color:var(--fg-dim);opacity:.5;cursor:not-allowed}.booking__day:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.booking__slots-head{margin:0;font-family:var(--font-mono);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}.booking__tznote{margin:6px 0 0;font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--fg-dim)}.booking__slot-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.booking__slot{font-family:var(--font-mono);font-weight:700;font-size:13px;padding:10px 14px;color:var(--fg);background:transparent;border:1.5px solid var(--line-strong);cursor:pointer;transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease),transform .16s var(--ease)}.booking__slot:hover{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--line-strong)}.booking__slot:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.booking__hint,.booking__loading{margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.5;color:var(--fg-dim)}.booking__form{max-width:560px;display:flex;flex-direction:column;gap:16px}.booking__selected{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:0;padding-bottom:16px;border-bottom:1.5px solid var(--line-strong);font-family:var(--font-mono);font-size:14px}.booking__selected-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.booking__selected strong{color:var(--fg)}.booking__change{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--accent-deep);background:transparent;border:none;border-bottom:1.5px solid var(--accent-deep);padding:0 0 2px;cursor:pointer}.booking__change:hover{color:var(--fg);border-color:var(--fg)}.booking__form-head{margin:0;font-family:var(--font-accent);font-weight:700;text-transform:uppercase;font-size:clamp(20px,3vw,28px);letter-spacing:-.02em;color:var(--fg)}.booking__field{display:flex;flex-direction:column;gap:6px}.booking__field>span{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim)}.booking__field input,.booking__field textarea{font-family:var(--font-mono);font-size:15px;color:var(--fg);background:var(--panel);border:1.5px solid var(--line-strong);border-radius:0;padding:12px 14px}.booking__field textarea{resize:vertical;min-height:84px}.booking__field input:focus-visible,.booking__field textarea:focus-visible{outline:none;border-color:var(--accent-deep);box-shadow:inset 0 0 0 1px var(--accent-deep)}.booking__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.booking__consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;color:var(--fg)}.booking__consent input{margin-top:2px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--accent-deep)}.booking__consent a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:2px}.booking__submit{align-self:flex-start;margin-top:4px}.booking__success{max-width:560px}.booking__success-head{margin:8px 0 0;font-family:var(--font-accent);font-weight:700;text-transform:uppercase;font-size:clamp(26px,4.4vw,48px);line-height:.96;letter-spacing:-.03em;color:var(--fg);outline:none}.booking__success-when{margin:18px 0 0;font-family:var(--font-mono);font-size:14px;color:var(--fg)}.booking__success-when span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);margin-right:8px}.booking__success-body{margin:12px 0 0;max-width:50ch;line-height:1.5;color:var(--fg-dim)}.booking__success-actions{margin-top:clamp(20px,3vh,30px);display:flex;flex-wrap:wrap;gap:14px}@media(prefers-reduced-motion:reduce){.booking__slot,.booking__cal-nav,.booking__day{transition:none}}.site-foot[data-astro-cid-gcn2mc3v]{background:var(--ink);border-top:2px solid var(--accent);padding:22px var(--gutter)}.site-foot__inner[data-astro-cid-gcn2mc3v]{max-width:1500px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px 28px;flex-wrap:wrap}.site-foot__copy[data-astro-cid-gcn2mc3v]{margin:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:#eaeaea8c}.site-foot__links[data-astro-cid-gcn2mc3v]{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap}.site-foot__links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v],.site-foot__btn[data-astro-cid-gcn2mc3v]{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#eaeaea9e;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;transition:color .16s var(--ease)}.site-foot__links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover,.site-foot__btn[data-astro-cid-gcn2mc3v]:hover{color:var(--accent)}.site-foot__links[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:focus-visible,.site-foot__btn[data-astro-cid-gcn2mc3v]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
