.booking .step{border:0;min-width:0;margin:0;padding:0 0 40px}.booking legend{font-family:var(--font-serif);letter-spacing:.05em;align-items:center;gap:12px;margin-bottom:18px;padding:0;font-size:1.3rem;font-weight:600;display:flex}.booking .step__num{border:1px solid var(--line-strong);width:34px;height:34px;font-family:var(--font-latin);color:var(--warm);border-radius:50%;flex:none;place-items:center;font-size:1.2rem;font-style:italic;font-weight:500;display:grid}.booking .choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.booking .choice{cursor:pointer;display:block;position:relative}.booking .choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.booking .choice span{text-align:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);justify-content:center;align-items:center;min-height:52px;padding:8px 14px;line-height:1.4;transition:background-color .15s,border-color .15s,color .15s;display:flex}.booking .choice input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}.booking .choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.booking .choices .choice:last-child{grid-column:1/-1}.booking .choice--wide{margin-top:20px}.booking .legend{color:var(--ink-soft);flex-wrap:wrap;gap:6px 18px;margin-block:16px 8px;font-size:.9rem;display:flex}.booking .legend li{align-items:center;gap:6px;display:inline-flex}.booking .dot{border:1px solid var(--line-strong);border-radius:50%;width:10px;height:10px}.booking .dot--open{background:var(--accent);border-color:var(--accent)}.booking .dot--pending{background:#e2c48f;border-color:#cfae74}.booking .dot--full{background:var(--line-strong)}.booking .dot--closed{background:0 0}.booking .week{font-family:var(--font-latin);color:var(--warm);border-bottom:1px solid var(--line);margin-top:24px;padding-bottom:6px;font-size:1.15rem;font-style:italic;font-weight:500}.booking .day{border-bottom:1px solid var(--line);grid-template-columns:4.2em minmax(0,1fr);align-items:start;gap:12px;padding-block:14px;display:grid}.booking .day__date{padding-top:6px;line-height:1.4;display:grid}.booking .day__date strong{font-family:var(--font-serif);font-size:1.12rem}.booking .day__date span{color:var(--muted);font-size:.86rem}.booking .day__slots{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.booking .slot{border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--surface);text-align:left;cursor:pointer;justify-items:start;gap:0;min-height:56px;padding:7px 14px;line-height:1.4;transition:background-color .15s,color .15s;display:grid}.booking .slot__time{font-variant-numeric:tabular-nums;font-weight:500}.booking .slot__status{color:var(--accent);font-size:.82rem}.booking .slot--open:hover{background:var(--accent-soft)}.booking .slot[aria-pressed=true]{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.booking .slot[aria-pressed=true] .slot__status{color:#dfe8da}.booking .slot:disabled{cursor:not-allowed;border-color:var(--line);color:var(--muted)}.booking .slot:disabled .slot__status{color:var(--muted)}.booking .slot--pending{background:#fbf3e4;border-color:#ead9b8!important}.booking .slot--pending .slot__status{color:#8a6a35!important}.booking .slot--full{background:var(--surface-2)}.booking .slot--full .slot__time{text-decoration:line-through}.booking .slot--closed{background:0 0;border-style:dashed}.booking .submit{border-top:1px solid var(--line-strong);gap:12px;padding-top:24px;display:grid}.booking .picked{color:var(--accent-deep);min-height:1.85em;font-weight:500}.booking .submit .hint{color:var(--muted);font-size:.88rem;line-height:1.7}.booking .done{text-align:center;outline:none}.booking .done .staff{max-width:200px;margin:0 auto 28px}.booking .done .staff:after{transform:translate(-50%)}.booking .done h2{font-size:clamp(1.3rem,5vw,1.6rem)}.booking .done__lead{color:var(--ink-soft);margin-top:12px}.booking .done .notice{text-align:left;margin-top:16px}.booking .summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-sans);text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;padding:20px;font-size:.98rem;line-height:1.9}.booking .done__actions{gap:12px;display:grid}.booking .back{min-height:44px;color:var(--ink-soft);text-underline-offset:.25em;cursor:pointer;background:0 0;border:0;margin-top:20px;text-decoration:underline}.booking .alt{border-radius:var(--radius);background:var(--surface-2);justify-items:start;gap:12px;margin-top:56px;padding:24px;display:grid}@media (width>=600px){.booking .choices{grid-template-columns:repeat(4,minmax(0,1fr))}.booking .done__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.booking .day{grid-template-columns:5.5em minmax(0,1fr)}}
