.booking-page-wrap{min-height:80vh;padding:100px 20px 80px;background:linear-gradient(180deg,#f8f9fa,#ffffff);color:var(--fg)}.booking-hero{max-width:680px;margin:0 auto 36px;text-align:center}.booking-hero-badge{display:inline-block;font-size:13px;font-weight:600;color:#e11d29;background:#fef2f2;border:1px solid #fee2e2;padding:4px 14px;border-radius:999px;margin-bottom:12px}.booking-hero h1{font-size:clamp(28px,4vw,38px);font-weight:700;letter-spacing:-.5px;margin-bottom:10px;color:#171a20}.booking-hero p{font-size:15px;color:#5c5e62;line-height:1.6}.booking-promo-banner{max-width:760px;margin:0 auto 28px;background:linear-gradient(135deg,#fff1f2,#ffe4e6);border:1px solid #fecdd3;border-radius:14px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 4px 12px rgba(225,29,41,.05)}.promo-badge-tag{display:inline-block;background:#e11d29;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;margin-right:8px}.promo-text{font-size:14px;color:#881337;flex:1 1}.promo-text strong{color:#e11d29}.booking-card-main{max-width:760px;margin:0 auto;background:#ffffff;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.05),0 1px 3px rgba(0,0,0,.03);border:1px solid #eaeaea;padding:32px}@media (max-width:640px){.booking-card-main{padding:20px 16px}.booking-page-wrap{padding:85px 12px 60px}.booking-promo-banner{flex-direction:column;text-align:center}}.booking-stepper{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;position:relative;max-width:500px;margin-left:auto;margin-right:auto}.booking-stepper:before{content:"";position:absolute;top:18px;left:40px;right:40px;height:2px;background:#e5e7eb;z-index:1}.step-node{position:relative;z-index:2;flex-direction:column;gap:6px;flex:1 1}.step-circle,.step-node{display:flex;align-items:center}.step-circle{width:36px;height:36px;border-radius:50%;background:#ffffff;border:2px solid #d1d5db;color:#9ca3af;font-weight:700;font-size:14px;justify-content:center;transition:all .2s ease}.step-title{font-size:12px;font-weight:600;color:#9ca3af;white-space:nowrap}.step-node.active .step-circle{background:#e11d29;border-color:#e11d29;color:#ffffff;box-shadow:0 0 0 4px rgba(225,29,41,.15)}.step-node.active .step-title{color:#171a20}.step-node.completed .step-circle{background:#10b981;border-color:#10b981;color:#ffffff}.form-sec-title{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:14px;display:flex;align-items:center;gap:8px}.form-sec-title svg{color:#e11d29}.branch-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-bottom:26px}.branch-option{position:relative;border:2px solid #e5e7eb;border-radius:14px;padding:14px;cursor:pointer;background:#fafafa;transition:all .2s ease;display:flex;flex-direction:column;justify-content:space-between}.branch-option:hover{border-color:#cbd5e1;background:#ffffff}.branch-option.selected{border-color:#e11d29;background:#ffffff;box-shadow:0 4px 14px rgba(225,29,41,.08)}.branch-option input{position:absolute;opacity:0}.branch-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:6px}.branch-name{font-weight:700;font-size:15px;color:#111827}.branch-check-icon{width:18px;height:18px;border-radius:50%;border:2px solid #d1d5db;display:flex;align-items:center;justify-content:center;font-size:10px;color:transparent;transition:all .2s ease}.branch-option.selected .branch-check-icon{background:#e11d29;border-color:#e11d29;color:#ffffff}.branch-sub{font-size:12px;color:#6b7280;margin-bottom:10px}.branch-map-btn{font-size:11px;font-weight:600;color:#4b5563;display:inline-flex;align-items:center;gap:4px;text-decoration:underline}.branch-promo-pill{position:absolute;top:-8px;right:10px;background:#10b981;color:white;font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px}.date-roller-wrap{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:24px;-webkit-overflow-scrolling:touch}.date-roller-wrap::-webkit-scrollbar{height:6px}.date-roller-wrap::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.date-card-btn{min-width:68px;padding:10px 8px;border:2px solid #e5e7eb;border-radius:12px;background:#ffffff;cursor:pointer;text-align:center;transition:all .2s ease;flex-shrink:0;position:relative}.date-card-btn:hover{border-color:#cbd5e1}.date-card-btn.selected{border-color:#e11d29;background:#fff5f5;box-shadow:0 4px 10px rgba(225,29,41,.1)}.date-card-day{font-size:12px;font-weight:500;color:#6b7280;margin-bottom:2px}.date-card-num{font-size:20px;font-weight:700;color:#111827;line-height:1.2}.date-card-btn.selected .date-card-num{color:#e11d29}.date-card-month{font-size:11px;color:#9ca3af}.date-promo-dot{position:absolute;top:-6px;right:-4px;background:#e11d29;color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px}.time-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-gap:10px;gap:10px;margin-bottom:24px}.time-slot-btn{border:1.5px solid #e5e7eb;border-radius:10px;padding:10px 6px;text-align:center;cursor:pointer;background:#ffffff;transition:all .2s ease}.time-slot-btn:hover:not(.disabled){border-color:#cbd5e1}.time-slot-btn.selected{border-color:#e11d29;background:#fff5f5}.time-slot-btn.disabled{opacity:.45;background:#f3f4f6;cursor:not-allowed;border-color:#e5e7eb}.time-text{font-weight:700;font-size:14px;color:#111827;display:block}.time-status-pill{font-size:10px;font-weight:600;margin-top:3px;display:inline-block;padding:2px 6px;border-radius:4px}.status-green{color:#047857;background:#d1fae5}.status-yellow{color:#b45309;background:#fef3c7}.status-orange{color:#c2410c;background:#ffedd5}.status-red{color:#b91c1c;background:#fee2e2}.booking-terms-box{background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;padding:14px 16px;font-size:13px;color:#4b5563;margin-bottom:24px}.booking-terms-box ul{padding-left:18px;margin-top:6px}.form-input-group{margin-bottom:16px}.form-input-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.form-input-group label span.req{color:#e11d29}.form-input-group input,.form-input-group textarea{width:100%;padding:11px 14px;border:1.5px solid #d1d5db;border-radius:10px;font-size:14px;font-family:inherit;color:#111827;background:#ffffff;outline:none;transition:border-color .2s ease}.form-input-group input:focus,.form-input-group textarea:focus{border-color:#e11d29;box-shadow:0 0 0 3px rgba(225,29,41,.1)}.quick-symptoms{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.quick-tag-btn{font-size:11px;font-weight:500;padding:4px 10px;background:#f3f4f6;color:#4b5563;border-radius:6px;cursor:pointer;border:1px solid #e5e7eb;transition:all .15s ease}.quick-tag-btn:hover{background:#fee2e2;color:#e11d29;border-color:#fecdd3}.form-actions-row{display:flex;gap:12px;margin-top:24px}.btn-form-prev{padding:12px 20px;background:#f3f4f6;border:none;border-radius:10px;font-size:14px;font-weight:600;color:#4b5563;cursor:pointer;transition:background .2s ease}.btn-form-prev:hover{background:#e5e7eb}.btn-form-next{flex:1 1;padding:12px 24px;background:#e11d29;border:none;border-radius:10px;font-size:15px;font-weight:700;color:#ffffff;cursor:pointer;box-shadow:0 4px 14px rgba(225,29,41,.25);transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-form-next:hover:not(:disabled){background:#cc121e;transform:translateY(-1px)}.btn-form-next:disabled{background:#d1d5db;box-shadow:none;cursor:not-allowed}.booking-success-box{text-align:center;padding:20px 0}.success-icon-wrap{width:64px;height:64px;background:#ecfdf5;border-radius:50%;color:#10b981;font-size:32px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.booking-success-box h2{font-size:24px;font-weight:700;color:#111827;margin-bottom:6px}.booking-success-box p{color:#6b7280;font-size:14px}.booking-receipt{max-width:480px;margin:24px auto;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:20px;text-align:left}.receipt-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #e5e7eb;font-size:14px}.receipt-row:last-child{border-bottom:none}.receipt-label{color:#6b7280}.receipt-val{font-weight:600;color:#111827}.receipt-val.highlight{color:#e11d29}