.booking{background:var(--canvas);border:1px solid var(--hairline-soft);border-radius:var(--r-lg);color:var(--ink);gap:18px;padding:clamp(22px,3vw,34px);display:grid;position:relative;box-shadow:0 40px 80px -48px #0a0a0a59}.booking .form-head p{color:var(--muted);margin:8px 0 0;font-size:14px}.booking .interest{border-radius:var(--r-full);background:var(--volt);color:var(--on-volt);justify-content:space-between;align-items:center;gap:10px;margin:0;padding:8px 8px 8px 14px;font-size:14px;display:flex}.booking .interest[hidden]{display:none}.booking .interest button{background:var(--canvas);cursor:pointer;border:0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.booking .row.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.booking .field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.booking .field>span,.booking .field legend{margin-bottom:8px;padding:0;font-size:13px;font-weight:650}.booking .field>span{margin:0}.booking .field input[type=text],.booking .field input[type=tel]{border-radius:var(--r-sm);background:var(--field);border:2px solid #0000;outline:none;height:52px;padding:0 16px;font-size:16px;transition:border-color .2s,background .2s}.booking .field input::placeholder{color:var(--faint)}.booking .field input:focus{border-color:var(--ink);background:var(--canvas)}.booking .err{color:#c0392b;font-size:12px;font-style:normal;display:none}.booking .field.invalid input{border-color:#c0392b}.booking .field.invalid .err{display:block}.booking .choices{flex-wrap:wrap;gap:8px;display:flex}.booking .choice{cursor:pointer;position:relative}.booking .choice input{opacity:0;pointer-events:none;position:absolute}.booking .choice span{border:1px solid var(--hairline);border-radius:var(--r-full);background:var(--canvas);align-items:center;height:42px;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.booking .choice:hover span{border-color:var(--ink)}.booking .choice input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}.booking .choice input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.booking .days{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.booking .days .choice span{border-radius:16px;flex-direction:column;justify-content:center;width:60px;height:64px;padding:0;line-height:1.1}.booking .days small{opacity:.6;text-transform:uppercase;font-size:11px;font-weight:600}.booking .days b{font-family:var(--display);font-size:22px;font-weight:var(--display-w)}.booking .slots{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.booking .slot span{border-radius:16px;flex-direction:column;justify-content:center;width:100%;height:58px;line-height:1.15}.booking .slot small{opacity:.65;font-size:12px;font-weight:500}.booking .check{cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:550;display:flex}.booking .check input{opacity:0;position:absolute}.booking .box{border:1px solid var(--hairline);background:var(--canvas);color:#0000;border-radius:7px;place-items:center;width:22px;height:22px;display:grid}.booking .check input:checked+.box{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}.booking .check input:focus-visible+.box{outline:2px solid var(--ink);outline-offset:2px}.booking .submit{--h:58px;font-size:16px}.booking .assure{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:-4px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.booking .assure li{align-items:center;gap:6px;display:inline-flex}.booking .assure a{color:var(--ink);font-weight:650}.booking .done{text-align:center;background:var(--canvas);border-radius:inherit;animation:done-in .5s var(--ease) both;place-content:center;justify-items:center;gap:12px;padding:32px;display:grid;position:absolute;inset:0}.booking .done[hidden]{display:none}.booking .done p{max-width:340px;color:var(--muted);margin:0}.booking .done .small{font-size:13px}.booking .done-icon{background:var(--success);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}@keyframes done-in{0%{opacity:0;transform:scale(.97)}}@media (width<=520px){.booking .row.two{grid-template-columns:minmax(0,1fr)}.booking .choice span{padding:0 14px}.booking .slot span{padding:0 6px}}@media (width<=359px){.booking .slot small{font-size:11px}}
