.booking-wrap{max-width:780px;margin:0 auto;padding:2rem 1rem 4rem}.booking-steps{display:flex;gap:.5rem;margin-bottom:2rem}.step-pill{flex:1;text-align:center;padding:.45rem .5rem;border-radius:20px;font-size:.78rem;font-weight:600;background:var(--border);color:var(--muted)}.step-pill.active{background:var(--primary);color:#fff}.step-pill.done{background:var(--success);color:#fff}.date-strip{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.date-btn{padding:.5rem .9rem;border-radius:8px;border:1.5px solid var(--border);background:#fff;cursor:pointer;font-size:.9rem;transition:all .15s}.date-btn:hover{border-color:var(--primary);color:var(--primary)}.date-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.date-btn:disabled{opacity:.35;cursor:not-allowed}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;margin:1rem 0}.time-btn{padding:.6rem;border-radius:8px;border:1.5px solid var(--border);background:#fff;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s}.time-btn:hover{border-color:var(--primary);color:var(--primary)}.time-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.booking-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width:540px){.booking-form .form-row{grid-template-columns:1fr}}.booking-form label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem;color:var(--dark)}.booking-form input,.booking-form textarea{width:100%;padding:.6rem .8rem;border:1.5px solid var(--border);border-radius:8px;font-size:.95rem;font-family:inherit}.booking-form input:focus,.booking-form textarea:focus{outline:none;border-color:var(--primary)}.booking-form textarea{resize:vertical;min-height:80px}.field-full{margin-bottom:1rem}.booking-summary{background:var(--light);border:1.5px solid var(--border);border-radius:10px;padding:1.2rem 1.4rem;margin-bottom:1.5rem}.booking-summary h3{font-size:1rem;margin-bottom:.6rem}.booking-summary p{font-size:.9rem;color:var(--muted);margin:.2rem 0}.booking-summary strong{color:var(--dark)}.status-msg{padding:.9rem 1.1rem;border-radius:8px;margin:1rem 0;font-size:.9rem;display:none}.status-msg.error{background:#fef2f2;border:1px solid #fecaca;color:var(--error);display:block}.status-msg.success{background:#f0fdf4;border:1px solid #bbf7d0;color:var(--success);display:block}.status-msg.info{background:#eff6ff;border:1px solid #bfdbfe;color:var(--primary);display:block}#screen-confirmed{text-align:center;padding:3rem 1rem}#screen-confirmed .check-icon{font-size:3.5rem;margin-bottom:1rem}#screen-confirmed h2{margin-bottom:.6rem}#screen-confirmed p{color:var(--muted);max-width:480px;margin:.4rem auto}.screen{display:none}.screen.active{display:block}.nav-btns{display:flex;gap:1rem;margin-top:1.5rem}.btn-ghost{background:transparent;border:1.5px solid var(--border);color:var(--dark);padding:.7rem 1.6rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:600}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:.4rem}@keyframes spin{to{transform:rotate(1turn)}}