.booking-close,.step{color:#374151;display:flex}.booking-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);display:none;z-index:4000}.booking-box{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;width:92%;max-width:420px;padding:28px;border-radius:18px;box-shadow:0 25px 60px rgba(0,0,0,.25);animation:.3s popupIn}@keyframes popupIn{from{transform:translate(-50%,-55%) scale(.95);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.booking-close{position:absolute;top:14px;right:16px;width:36px;height:36px;border-radius:50%;background:#f3f4f6;border:none;cursor:pointer;font-size:20px;font-weight:500;align-items:center;justify-content:center;transition:.25s}.step,.step-line{background:#e5e7eb}.booking-close:hover{background:#e5e7eb;color:#111827;transform:scale(1.05)}.booking-close:active{transform:scale(.95)}@media (max-width:480px){.booking-close{width:40px;height:40px;font-size:22px}}.booking-box h3,.otp-input{font-size:20px;text-align:center}.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.step{width:32px;height:32px;border-radius:50%;font-weight:600;align-items:center;justify-content:center}.step.active{background:#009b48;color:#fff}.step-line{width:40px;height:3px;margin:0 8px}.booking-step{display:none}.booking-step.active{display:block}.booking-box h3{margin-bottom:6px;font-weight:700;color:#111827;letter-spacing:-.2px}.booking-box h3+p{text-align:center;font-size:13px;color:#6b7280;margin-bottom:18px}.booking-box label{display:block;margin-top:10px;font-size:14px;font-weight:600;color:#374151}.booking-box input{width:100%;padding:12px 14px;margin:6px 0 14px;border-radius:12px;border:1px solid #d1d5db;font-size:14px;background:#fff;transition:.25s}.booking-box input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15);outline:0}.booking-box input[readonly]{background:#f9fafb;color:#111827;font-weight:600;cursor:not-allowed}.otp-wrapper{display:flex;gap:12px;justify-content:center;margin:12px 0 18px}.otp-input{width:52px;height:56px;font-weight:600;border-radius:12px;border:1.5px solid #d1d5db;outline:0;transition:.2s}.otp-input:focus{border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.2)}.book-now-btn{padding:6px 32px;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border:none;border-radius:16px;font-size:16px;font-weight:700;letter-spacing:.4px;cursor:pointer;box-shadow:0 14px 30px rgba(34,197,94,.45),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .2s,box-shadow .2s,background .3s}@media (hover:hover){.book-now-btn:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(34,197,94,.6),inset 0 1px 0 rgba(255,255,255,.3);background:linear-gradient(135deg,#15803d,#22c55e)}}.book-now-btn:active{transform:translateY(0);box-shadow:0 8px 18px rgba(34,197,94,.4)}.primary-btn{width:100%;padding:13px;background:linear-gradient(135deg,#1db954,#4ade80);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}.primary-btn:hover{opacity:.95}.resend{text-align:center;font-size:13px;margin-top:12px}.resend span{color:#ff7a18;cursor:pointer}#step3 h3,.confirmation-text strong{color:#16a34a}@media (max-width:768px){.book-now-btn{padding:15px;border-radius:16px;width:100%;font-size:16px}}.confirmation-text{text-align:center;font-size:15px;line-height:1.6;color:#374151;margin:18px 0 24px}#step3{text-align:center;padding-top:10px}#step3 h3{margin-bottom:14px}#step3 .primary-btn{margin-top:10px}