.booking-wrap{max-width:880px;margin:auto;padding:55px 26px 100px}.booking-top{text-align:center;max-width:620px;margin:0 auto 35px}.booking-top h1{font-size:clamp(2.7rem,5vw,4.8rem);margin-bottom:16px}.booking-top p{color:var(--muted)}.booking-card{padding:38px;background:#fffdf9;border:1px solid #e8d7d4;box-shadow:0 14px 35px #49312b0a}.booking-meta{font-size:.84rem;color:var(--muted);margin-bottom:26px}.booking-meta span{margin-right:22px}.booking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0}.booking-toolbar button,.booking-day,.booking-time{font:600 .82rem 'DM Sans',sans-serif;cursor:pointer;background:transparent;color:var(--cocoa);border:1px solid #d8c5c1;border-radius:2px;padding:11px 14px}.booking-toolbar button:disabled{opacity:.35;cursor:default}.booking-days,.booking-times{display:flex;flex-wrap:wrap;gap:9px}.booking-day.active,.booking-time.active{background:var(--cocoa);color:white;border-color:var(--cocoa)}.booking-times{margin:22px 0 28px}.booking-status{min-height:28px;color:var(--muted);font-size:.87rem}.booking-status.error{color:#a23445}.booking-form{border-top:1px solid #e7d8d4;margin-top:28px;padding-top:27px}.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-form label{display:block;font-size:.78rem;font-weight:600;margin-bottom:15px}.booking-form input{display:block;width:100%;border:1px solid #d9c9c4;padding:13px;font:inherit;background:white;color:var(--cocoa);margin-top:7px}.booking-form .full{grid-column:1/-1}.booking-form .button{cursor:pointer}.booking-form .button:disabled{opacity:.55;cursor:wait}.booking-confirmed{text-align:center;padding:28px 0}.booking-confirmed h2{font-size:2.7rem}.booking-back{font-size:.8rem;text-decoration:underline;text-underline-offset:5px}.booking-help{text-align:center;color:var(--muted);font-size:.8rem;margin-top:25px}@media(max-width:620px){.booking-card{padding:22px}.booking-form-grid{grid-template-columns:1fr}.booking-form .full{grid-column:auto}.booking-toolbar{flex-wrap:wrap}.booking-days,.booking-times{gap:7px}.booking-day,.booking-time{padding:9px 11px}}
