.waitlist-box{margin-top:18px;padding:18px;border:1px solid #ddd6fe;border-radius:14px;background:#f8f7ff}.waitlist-box p{margin:6px 0 13px}.waitlist-box>div{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.waitlist-box input{min-width:0}.waitlist-box button{border:0;border-radius:10px;background:var(--brand);color:#fff;font-weight:800;padding:0 15px}.waitlist-box small{display:block;margin-top:9px;color:#5548cc}@media(max-width:650px){.waitlist-box>div{grid-template-columns:1fr}.waitlist-box button{min-height:45px}}

.hero{animation:booking-enter .55s both}.card{animation:booking-enter .55s .08s both}.step.active{animation:booking-step .28s ease both}.progress span{transition:background .28s ease,transform .28s ease}.progress .on span{transform:scaleX(1.02);transform-origin:left}.option,.day,.slot,.quick,.navday{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.option:hover,.day:not(.disabled):hover,.slot:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(37,26,76,.09)}.option.selected,.day.selected,.slot.selected{animation:booking-select .24s ease}.waitlist-box{animation:booking-enter .3s ease}.message.ok{animation:booking-select .32s ease}@keyframes booking-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes booking-step{from{opacity:.3;transform:translateX(10px)}to{opacity:1;transform:none}}@keyframes booking-select{50%{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
