booking-form{display:block}.booking{background:#fff;color:#000;min-height:100vh;min-height:100dvh;padding:100px 24px 80px;margin-top:calc(-1 * var(--header-height, 80px));position:relative;z-index:1}.booking__container{max-width:480px;margin:0 auto}.booking__progress,.booking__step{display:none}.booking__step.is-active{display:block;animation:bookingFadeIn .5s ease both}@keyframes bookingFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.booking__step-heading{font-size:1.6rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;line-height:1.2;text-align:center}.booking__step-sub{color:#000000bf;font-size:.88rem;letter-spacing:.04em;margin:0 0 40px;text-align:center}.booking__calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.booking__calendar-title{font-size:.85rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.booking__calendar-nav{background:none;border:1px solid rgba(0,0,0,.15);color:#000;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.booking__calendar-nav:hover{background:#0000000d;border-color:#0000004d}.booking__calendar-nav:disabled{opacity:.15;cursor:default;pointer-events:none}.booking__calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;border:1px solid rgba(0,0,0,.08);padding:14px;background:#00000005}.booking__calendar-day-name{text-align:center;font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#000000bf;padding:4px 0 10px;-webkit-user-select:none;user-select:none}.booking__calendar-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;cursor:pointer;border:1px solid transparent;transition:all .15s;position:relative;-webkit-user-select:none;user-select:none;color:#000000a6}.booking__calendar-cell:hover:not(.is-disabled):not(.is-empty){border-color:#0000004d;background:#0000000a;color:#000}.booking__calendar-cell.is-disabled{color:#0000001a;cursor:default}.booking__calendar-cell.is-empty{cursor:default}.booking__calendar-cell.is-today{color:#000;font-weight:600;border-color:#0003}.booking__calendar-cell.is-today:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background:#000}.booking__calendar-cell.is-selected{background:#000;color:#fff;font-weight:600;border-color:#000}.booking__calendar-cell.is-selected.is-today:after{background:#fff}.booking__times{margin-top:32px}.booking__times-label{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#0006;margin-bottom:12px}.booking__time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.booking__time-slot{padding:12px 8px;text-align:center;font-size:.82rem;font-family:inherit;letter-spacing:.03em;border:1px solid rgba(0,0,0,.12);background:#00000005;color:#000000bf;cursor:pointer;transition:all .15s}.booking__time-slot:hover{border-color:#0006;background:#0000000a;color:#000}.booking__time-slot.is-selected{background:#000;color:#fff;border-color:#000;font-weight:500}.booking__time-slot.is-unavailable{opacity:.15;cursor:default;pointer-events:none;text-decoration:line-through}.booking__time-empty{color:#0000004d;font-size:.85rem;padding:24px 0}.booking__secondary{margin-top:16px}.booking__secondary .booking__field-label{margin-bottom:6px;font-size:.7rem}.booking__secondary-grid{display:flex;flex-wrap:wrap;gap:6px}.booking__secondary-grid .booking__time-slot{font-size:.7rem;padding:6px 14px;border-color:#00000014;color:#0006;background:none}.booking__secondary-grid .booking__time-slot:hover{border-color:#0003;color:#0009}.booking__secondary-grid .booking__time-slot.is-selected{background:#0000000f;border-color:#00000026;color:#000}.booking__contact-note{margin-top:24px;text-align:center;font-size:.72rem;letter-spacing:.03em;color:#000000bf}.booking__contact-note a{color:#000000bf;text-decoration:underline}.booking__confirm-contact{margin-top:20px;font-size:.78rem;color:#00000073;letter-spacing:.03em}.booking__confirm-contact a{color:#000;text-decoration:underline}.booking__form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:4px}.booking__field{margin-bottom:14px}.booking__field-label{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#0006;margin-bottom:8px}.booking__input{width:100%;padding:13px 14px;font-size:.88rem;font-family:inherit;background:#00000008;border:1px solid rgba(0,0,0,.1);color:#000;outline:none;transition:border-color .2s;-webkit-appearance:none;border-radius:0}.booking__input::placeholder{color:#00000040}.booking__input:focus{border-color:#00000073}.booking__input.is-error{border-color:#ff505099}.booking__ig-wrap{position:relative}.booking__ig-wrap .booking__input{padding-left:32px}.booking__ig-at{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#00000040;font-size:.88rem;pointer-events:none}.booking__party-options{display:flex;gap:8px}.booking__party-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-family:inherit;border:1px solid rgba(0,0,0,.12);background:none;color:#000;cursor:pointer;transition:all .15s}.booking__party-btn.is-selected{background:#000;color:#fff;border-color:#000;font-weight:600}.booking__party-btn:hover:not(.is-selected){border-color:#00000059}.booking__guests{margin-top:14px;display:grid;gap:10px}.booking__guests.is-hidden{display:none}.booking__upload-zone{border:1px dashed rgba(0,0,0,.15);padding:40px 24px;text-align:center;cursor:pointer;transition:all .25s;position:relative}.booking__upload-zone:hover,.booking__upload-zone.is-dragover{border-color:#00000059;background:#00000005}.booking__upload-zone.has-file{border-style:solid;border-color:#00000026;padding:20px}.booking__upload-zone.is-error{border-color:#c8323299;background:#ff3c3c0a}.booking__upload-zone.is-processing{opacity:.6;pointer-events:none}.booking__upload-zone.is-processing:after{content:"Processing\2026";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;color:#00000080;background:#ffffffb3}.booking__upload-error{display:none;color:#c83232e6;font-size:.82rem;margin-bottom:10px}.booking__upload-error.is-visible{display:block;animation:bookingFadeIn .3s ease}.booking__upload-icon{margin-bottom:12px;opacity:.35}.booking__upload-text{font-size:.82rem;color:#0006;line-height:1.7}.booking__upload-text strong{color:#000c}.booking__upload-preview{max-width:200px;max-height:200px;object-fit:contain;margin:0 auto;display:block;border:1px solid rgba(0,0,0,.08)}.booking__upload-name{margin-top:10px;font-size:.72rem;color:#0000004d;letter-spacing:.05em}.booking__upload-remove{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#ffffffe6;border:1px solid rgba(0,0,0,.15);color:#000;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;line-height:1;transition:border-color .15s}.booking__upload-remove:hover{border-color:#0006}.booking__upload-input{display:none}.booking__nav{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:20px;border-top:1px solid rgba(0,0,0,.06)}.booking__btn{padding:14px 36px;font-size:.8rem;font-weight:500;font-family:inherit;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .25s;border-radius:0;min-height:48px}.booking__btn--primary{background:#000;color:#fff;border:1px solid #000}.booking__btn--primary:hover{background:transparent;color:#000}.booking__btn--primary:disabled{opacity:.2;cursor:default;pointer-events:none}.booking__btn--secondary{background:none;border:1px solid rgba(0,0,0,.15);color:#0009}.booking__btn--secondary:hover{border-color:#0006;color:#000}.booking__review{display:grid;gap:0}.booking__review-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.06)}.booking__review-item:first-child{border-top:1px solid rgba(0,0,0,.06)}.booking__review-label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#0000004d}.booking__review-value{font-size:.88rem;text-align:right;max-width:60%}.booking__confirm{text-align:center;padding:60px 0}.booking__confirm-icon{width:68px;height:68px;border:1.5px solid rgba(0,0,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;animation:bookingScaleIn .5s cubic-bezier(.23,1,.32,1) both}@keyframes bookingScaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.booking__confirm-heading{font-size:1.4rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}.booking__confirm-text{color:#0006;font-size:.88rem;line-height:1.7;max-width:360px;margin:0 auto}.booking__confirm-ref{display:inline-block;margin-top:24px;padding:10px 20px;background:#0000000a;border:1px solid rgba(0,0,0,.08);font-size:.72rem;letter-spacing:.2em;font-family:monospace}.booking__error{background:#ff3c3c0f;border:1px solid rgba(255,60,60,.15);color:#c83232e6;padding:12px 16px;font-size:.82rem;margin-bottom:20px;display:none}.booking__error.is-visible{display:block;animation:bookingFadeIn .3s ease}@media(max-width:600px){.booking{padding:110px 16px 48px}.booking__progress{margin-bottom:32px}.booking__step-heading{font-size:1.15rem;letter-spacing:.08em}.booking__step-sub{margin-bottom:20px;font-size:.78rem}.booking__form-row{grid-template-columns:1fr;gap:4px}.booking__btn{padding:14px 22px;font-size:.78rem;flex:1}.booking__nav{margin-top:24px;gap:10px;padding-top:16px}.booking__nav>div:empty{display:none}[data-step="1"] .booking__nav{justify-content:stretch}[data-step="1"] .booking__nav .booking__btn{width:100%}.booking__review-item{padding:12px 0}.booking__upload-zone{padding:32px 16px}.booking__calendar-header{margin-bottom:10px}.booking__calendar-nav{width:30px;height:30px}.booking__calendar-grid{padding:8px;gap:2px}.booking__calendar-day-name{font-size:.6rem;padding:2px 0 6px}.booking__calendar-cell{aspect-ratio:auto;height:36px;font-size:.78rem}.booking__times{margin-top:22px}.booking__time-grid{grid-template-columns:repeat(4,1fr);gap:6px}.booking__time-slot{padding:10px 4px;font-size:.76rem}.booking__contact-note{margin-top:18px;font-size:.7rem}}
/*# sourceMappingURL=/cdn/shop/t/11/assets/section-booking-form.css.map */
