.drawer{width:100%;max-width:none;padding:0;background:var(--ink);color:var(--cream);display:grid;grid-template-columns:minmax(320px,42%) 1fr;overflow:hidden;clip-path:inset(0 0 0 100%);transform:none;transition:clip-path .7s cubic-bezier(.77,0,.18,1)}
.drawer.open{clip-path:inset(0)}
.booking-visual{position:relative;min-height:100vh;background:linear-gradient(180deg,rgba(23,12,22,.12),rgba(23,12,22,.82)),url("assets/hero.png") 63% center/cover;display:flex;flex-direction:column;justify-content:flex-end;padding:5vw;overflow:hidden}
.booking-visual:after{content:"";position:absolute;inset:22px;border:1px solid var(--line);pointer-events:none}
.booking-visual p{font-family:var(--display);font-size:clamp(3rem,5vw,6rem);font-weight:800;letter-spacing:-.07em;line-height:.83;margin:0 0 30px;position:relative}
.booking-visual>span{font-size:.66rem;letter-spacing:.24em;position:relative}
.booking-glow{position:absolute;width:180px;height:180px;border-radius:50%;background:var(--saffron);filter:blur(70px);right:-30px;top:15%;opacity:.55;animation:drift 5s ease-in-out infinite}
.drawer>.step{padding:7vh clamp(24px,6vw,100px);overflow-y:auto;height:100vh}
.drawer h2{color:var(--cream);font-size:clamp(3.2rem,5.5vw,6.3rem);margin:3vh 0}
.drawer-close{z-index:4;color:var(--cream);border:1px solid var(--line);border-radius:50%;width:48px;height:48px;line-height:1;font-size:1.8rem;display:grid;place-content:center}
.date-row button,.times button{color:var(--cream);border-color:var(--line)}
.date-row button.selected,.times button.selected{background:var(--saffron);color:var(--ink);border-color:var(--saffron)}
.drawer label{color:#bdafb8}.drawer select,.drawer input{color:var(--cream);border-color:var(--line)}.drawer select option{color:var(--ink)}
.seat-picker>p{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#bdafb8}
.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 24px}
.zones button{border:1px solid var(--line);background:transparent;color:var(--cream);padding:15px 12px;text-align:left;display:flex;gap:11px;align-items:center}
.zones button:hover,.zones button.selected{border-color:var(--saffron);background:rgba(255,122,26,.08)}
.zones i{width:12px;height:12px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.04)}
.zones button.selected i{background:var(--saffron);color:var(--saffron);box-shadow:0 0 18px var(--saffron)}
.zones span{display:grid;gap:3px}.zones small{color:#9f9099;font-size:.68rem}
.success{align-content:center}.success.active{display:grid}.success:before{content:"✓";width:78px;height:78px;display:grid;place-content:center;border-radius:50%;background:var(--lime);color:var(--ink);font-size:2rem;animation:pop .55s cubic-bezier(.22,1.5,.4,1)}
@keyframes drift{50%{transform:translate(-80px,80px) scale(1.3)}}@keyframes pop{from{transform:scale(0) rotate(-25deg)}}
@media(max-width:800px){.drawer{grid-template-columns:1fr;overflow-y:auto}.booking-visual{min-height:31vh;padding:70px 22px 28px;background-position:60% 55%}.booking-visual p{font-size:2.8rem;margin:0 0 14px}.booking-visual:after{inset:10px}.drawer>.step{height:auto;min-height:69vh;padding:38px 22px 60px;overflow:visible}.drawer h2{font-size:3.5rem}.zones{grid-template-columns:1fr}.zones button{padding:13px}.drawer-close{position:fixed;top:14px;right:14px;background:rgba(23,12,22,.7)}}
@media(prefers-reduced-motion:reduce){.drawer{transition-duration:.01ms}.booking-glow{animation:none}}
.menu-section{position:relative}.menu-visual{position:absolute;left:4vw;top:390px;width:17vw;min-width:180px;margin:0}.menu-image-wrap{overflow:hidden;aspect-ratio:4/5;background:var(--ink)}.menu-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .22s ease,transform .65s cubic-bezier(.22,1,.36,1)}.menu-visual.changing img{opacity:0;transform:scale(1.06)}.menu-visual figcaption{display:grid;gap:5px;padding-top:14px;border-top:1px solid rgba(23,12,22,.24);margin-top:12px}.menu-visual figcaption span{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#766b71}.menu-visual figcaption b{font-family:var(--display);font-size:.95rem}.menu-visual:after{content:"";position:absolute;right:-18px;top:12%;height:76%;width:1px;background:rgba(23,12,22,.15)}@media(max-width:800px){.menu-visual{position:relative;left:auto;top:auto;width:100%;min-width:0;margin:32px 0 8px;display:grid;grid-template-columns:minmax(120px,42%) 1fr;gap:18px;align-items:end}.menu-visual figcaption{margin:0;padding:12px 0}.menu-visual:after{display:none}.dish-list{margin-top:20px}}@media(prefers-reduced-motion:reduce){.menu-visual img{transition-duration:.01ms}}
