.booking-hero{max-width:1100px;margin:0 auto;padding:0 20px}.booking-hero .hero-text{text-align:center;margin-bottom:40px}.booking-hero .hero-text h1{color:var(--ink-900);letter-spacing:-.5px;margin-bottom:12px;font-size:34px;font-weight:800}.booking-hero .hero-text p{color:var(--ink-500);max-width:600px;margin:0 auto;font-size:16px}.booking-hero .grid-container{grid-template-columns:1.3fr 1fr;align-items:start;gap:50px;display:grid}.booking-hero .interactive-widget{background:var(--surface);border:1px solid var(--border-default);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000014}.booking-hero .widget-header{border-bottom:1px solid var(--border-default);background:var(--surface);z-index:10;justify-content:space-between;align-items:center;height:82px;padding:20px 24px;display:flex;position:relative}.booking-hero .widget-header h2{color:var(--ink-900);font-size:18px;font-weight:700}.booking-hero .widget-header p{color:var(--ink-500);align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:500;display:flex}.booking-hero .back-btn{color:var(--ink-500);cursor:pointer;background:0 0;border:none;margin-bottom:4px;font-size:14px;font-weight:600;transition:all .2s;display:none}.booking-hero .back-btn:hover{color:var(--primary)!important;background-color:#0000!important;border-color:#0000!important}.booking-hero .back-btn.visible{display:inline-block}.booking-hero .step-panel{animation:.3s fadeIn;display:none}.booking-hero .step-panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking-hero .step-panel.previous{transform:translate(-20px)}.booking-hero .calendar-body{height:100%;display:flex}.booking-hero .date-picker{border-right:1px solid var(--border-default);flex:1.2;padding:24px}.booking-hero .month-header{color:var(--ink-900);justify-content:space-between;align-items:center;margin-bottom:20px;font-size:15px;font-weight:600;display:flex}.booking-hero .nav-btn{border:1px solid var(--border-default);cursor:pointer;width:32px;height:32px;color:var(--primary);background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.booking-hero .nav-btn:hover:not(:disabled){background:var(--brand-50);border-color:var(--brand-400)}.booking-hero .nav-btn:disabled{color:var(--ink-300);cursor:not-allowed}.booking-hero .days-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.booking-hero .day-name{color:var(--ink-500);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.booking-hero .date-btn{background:var(--brand-50);width:36px;height:36px;color:var(--primary);cursor:pointer;border:1px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:14px;font-weight:500;transition:all .2s;display:flex;position:relative}.booking-hero .date-btn:hover:not(.disabled){background:var(--primary);color:var(--surface);transform:scale(1.05)}.booking-hero .date-btn.active{background:var(--primary);color:var(--surface);box-shadow:0 4px 10px #6d28d94d}.booking-hero .date-btn.disabled{color:var(--ink-300);cursor:not-allowed;background:0 0;text-decoration:line-through}.booking-hero .date-btn.empty{pointer-events:none;background:0 0}.booking-hero .today-highlight{color:var(--ink-900);border:1px solid var(--brand-400);font-weight:800}.booking-hero .today-highlight:after{content:"";background-color:var(--accent-500);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.booking-hero .today-highlight.active:after{background-color:var(--surface)}.booking-hero .time-picker{background:#f8fafc;flex-direction:column;flex:.8;padding:24px;display:flex}.booking-hero .time-header{color:var(--ink-900);margin-bottom:16px;font-size:14px;font-weight:600}.booking-hero .timezone-text{color:var(--ink-500);margin-top:4px;font-size:11px;font-weight:500;display:block}.booking-hero .time-slots{flex-direction:column;flex-grow:1;gap:10px;padding-right:5px;display:flex;overflow-y:auto}.booking-hero .time-slots.disabled-slots{opacity:.5;pointer-events:none}.booking-hero .time-btn{background:var(--surface);border:1px solid var(--brand-400);color:var(--primary);cursor:pointer;text-align:center;border-radius:6px;padding:12px;font-size:14px;font-weight:600;transition:all .2s}.booking-hero .time-btn:hover{border-color:var(--primary);background:var(--brand-50)}.booking-hero .time-btn.selected{background:var(--ink-900);border-color:var(--ink-900);color:var(--surface)}.booking-hero .time-btn.full{border-color:var(--border-default);color:var(--ink-500);cursor:not-allowed;opacity:.75;background:#f1f5f9;flex-direction:column;align-items:center;gap:2px;display:flex}.booking-hero .time-btn.full:hover{border-color:var(--border-default);background:#f1f5f9}.booking-hero .time-btn .slot-full-label{color:var(--ink-300);font-size:10px;font-weight:500}.booking-hero .time-slots.loading-slots{opacity:.6;pointer-events:none}.booking-hero .empty-state-msg{text-align:center;color:var(--ink-500);background:var(--surface);border:1px dashed var(--border-default);border-radius:8px;margin-top:10px;padding:40px 10px;font-size:13px;font-weight:500}.booking-hero .btn-next{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:15px;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.booking-hero .btn-next:hover{background:var(--brand-600)}.booking-hero .form-container{flex-direction:column;height:100%;padding:24px;display:flex}.booking-hero .selection-summary{background:var(--brand-50);border-radius:4px;margin-bottom:20px;padding:14px 16px}.booking-hero .selection-summary h4{color:var(--ink-900);margin-bottom:4px;font-size:13px;font-weight:700}.booking-hero .selection-summary p{color:var(--primary);align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.booking-hero .form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.booking-hero .form-group{margin-bottom:14px;position:relative}.booking-hero .form-group label{color:var(--ink-900);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.booking-hero .form-control{border:1px solid var(--border-default);width:100%;color:var(--ink-900);background:#f8fafc;border-radius:6px;padding:10px 14px;font-size:14px;transition:all .2s}.booking-hero .form-control:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--brand-50);outline:none}.booking-hero .phone-wrapper{border:1px solid var(--border-default);background:#f8fafc;border-radius:6px;align-items:center;transition:all .2s;display:flex;overflow:hidden}.booking-hero .phone-wrapper:focus-within{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--brand-50)}.booking-hero .phone-wrapper.error{background:var(--surface);border-color:#ef4444;box-shadow:0 0 0 3px #fee2e2}.booking-hero .phone-prefix{color:var(--ink-500);border-right:1px solid var(--border-default);-webkit-user-select:none;user-select:none;background:#f1f5f9;padding:10px 12px;font-size:14px;font-weight:600}.booking-hero .phone-wrapper input{box-shadow:none;width:100%;color:var(--ink-900);background:0 0;border:none;padding:10px 14px;font-size:14px}.booking-hero .phone-wrapper input:focus{outline:none}.booking-hero .form-control.error{background:var(--surface);border-color:#ef4444;box-shadow:0 0 0 3px #fee2e2}.booking-hero .error-msg{color:#ef4444;margin-top:4px;font-size:11px;font-weight:500}.booking-hero .btn-submit{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:10px;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.booking-hero .btn-submit:hover:not(:disabled){background:var(--brand-600)}.booking-hero .btn-submit:disabled{opacity:.9;cursor:not-allowed}.booking-hero .btn-submit.is-loading{justify-content:center;align-items:center;gap:10px;display:inline-flex}.booking-hero .btn-spinner{border:2px solid #ffffff59;border-top-color:var(--surface);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite booking-btn-spin}@keyframes booking-btn-spin{to{transform:rotate(360deg)}}.booking-hero .submit-error{color:#ef4444;text-align:center;margin-top:8px;font-size:12px}.booking-hero .success-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px;display:flex}.booking-hero .success-icon{color:#10b981;background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:20px;display:flex}.booking-hero .success-container h3{color:var(--ink-900);margin-bottom:8px;font-size:22px;font-weight:700}.booking-hero .success-container>p{color:var(--ink-500);margin-bottom:24px;font-size:14px}.booking-hero .success-details{border:1px solid var(--border-default);text-align:left;background:#f8fafc;border-radius:8px;width:100%;padding:16px}.booking-hero .success-details div{color:var(--ink-900);border-bottom:1px solid var(--border-default);margin-bottom:8px;padding-bottom:8px;font-size:13px}.booking-hero .success-details div:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.booking-hero .success-details strong{color:var(--ink-500);width:70px;font-weight:600;display:inline-block}.booking-hero .value-prop-section{padding-top:20px}.booking-hero .value-prop-section h3{color:var(--ink-900);margin-bottom:24px;font-size:18px;font-weight:700}.booking-hero .checklist{margin-bottom:40px;padding:0;list-style:none}.booking-hero .checklist li{color:var(--ink-900);align-items:flex-start;gap:12px;margin-bottom:16px;font-size:14px;display:flex}.booking-hero .check-icon{color:var(--primary);flex-shrink:0;margin-top:2px}.booking-hero .testimonial-card{background:var(--brand-50);border-radius:0 8px 8px 0;padding:24px}.booking-hero .quote-icon{color:var(--accent-500);margin-bottom:4px;font-size:32px;font-weight:900;line-height:1}.booking-hero .quote-text{color:var(--ink-900);margin-bottom:16px;font-size:14px;font-style:italic;font-weight:500}.booking-hero .author{align-items:center;gap:12px;display:flex}.booking-hero .author-avatar{background:var(--brand-400);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.booking-hero .author-info h4{color:var(--ink-900);font-size:13px;font-weight:700}.booking-hero .author-info p{color:var(--ink-500);font-size:11px;font-weight:500}@media (max-width:380px){.booking-hero .days-grid{gap:4px}.booking-hero .date-btn{width:30px;height:30px;font-size:12px}}@media (max-width:850px){.booking-hero .grid-container{grid-template-columns:1fr;gap:40px}.booking-hero .calendar-body{flex-direction:column;height:auto}.booking-hero .date-picker{border-right:none;border-bottom:1px solid var(--border-default)}.booking-hero .interactive-widget{height:auto;min-height:500px}.booking-hero .step-panel{opacity:1;pointer-events:all;height:auto;display:none;position:relative;top:0;transform:none}.booking-hero .step-panel.active{display:block}.booking-hero .form-container{padding-bottom:40px}.booking-hero .form-row{grid-template-columns:1fr}}
