.booking-modal-content{border:none;border-radius:1rem;border-radius:var(--border-radius-lg,1rem);box-shadow:0 25px 50px -12px rgba(0,0,0,.25);box-shadow:var(--shadow-2xl,0 25px 50px -12px rgba(0,0,0,.25));max-height:95vh;overflow:hidden}.booking-modal-header{background:linear-gradient(135deg,#06f,#00d4ff);background:var(--gradient-cta,linear-gradient(135deg,#06f 0,#00d4ff 100%));border-bottom:none;box-shadow:0 4px 8px rgba(0,102,255,.2);color:#fff;color:var(--color-text-light,#fff);padding:1rem;padding:var(--spacing-md,1rem)}.booking-modal-header .modal-title{font-size:clamp(1.25rem,1rem + 1vw,1.5rem);font-weight:600;font-weight:var(--font-weight-semibold,600)}.booking-modal-header .close{color:#fff;color:var(--color-text-light,#fff);font-size:1.5rem;opacity:.9;padding:.5rem}.booking-modal-header .close:hover{opacity:1}.booking-modal-body{max-height:calc(95vh - 120px);overflow-y:auto;padding:1rem;padding:var(--spacing-md,1rem);-webkit-overflow-scrolling:touch}.booking-progress{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem);padding:.75rem 0;padding:var(--spacing-sm,.75rem) 0;position:relative}.booking-progress:before{background:#f3f4f6;background:var(--color-bg-gray,#f3f4f6);content:"";height:2px;left:0;position:absolute;right:0;top:50%;z-index:0}.progress-step{flex:1;flex-direction:column;position:relative;z-index:1}.progress-step,.step-number{align-items:center;display:flex}.step-number{background:#f3f4f6;background:var(--color-bg-gray,#f3f4f6);border-radius:50%;font-size:.875rem;font-weight:600;font-weight:var(--font-weight-semibold,600);height:2.5rem;justify-content:center;margin-bottom:.5rem;transition:all .3s;transition:all var(--transition-base,.3s);width:2.5rem}.step-label,.step-number{color:#6b7280;color:var(--color-text-secondary,#6b7280)}.step-label{display:none;font-size:.75rem;text-align:center}.progress-step.active .step-number{background:linear-gradient(135deg,#06f,#00d4ff);background:var(--gradient-cta,linear-gradient(135deg,#06f 0,#00d4ff 100%));box-shadow:0 4px 12px rgba(0,102,255,.4);color:#fff;color:var(--color-text-light,#fff);transform:scale(1.15)}.progress-step.completed .step-number{background:#00d977;background:var(--color-success,#00d977);box-shadow:0 4px 12px rgba(0,217,119,.4);color:#fff;color:var(--color-text-light,#fff)}@media (min-width:768px){.step-label{display:block}.step-number{font-size:1rem;height:3rem;width:3rem}}.booking-step{animation:fadeIn .3s ease-in;display:none}.booking-step.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.step-title{color:#1f2937;color:var(--color-text,#1f2937);font-size:clamp(1.5rem,1.25rem + 1vw,2rem);font-weight:600;font-weight:var(--font-weight-semibold,600);margin-bottom:.5rem;text-align:center}.step-subtitle{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:clamp(.875rem,.8125rem + .3125vw,1rem);text-align:center}.service-grid,.step-subtitle{margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;grid-gap:var(--spacing-sm,.75rem);gap:.75rem;gap:var(--spacing-sm,.75rem)}@media (min-width:576px){.service-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px){.service-grid{gap:1rem;gap:var(--spacing-md,1rem);grid-template-columns:repeat(4,1fr)}}.service-option{align-items:center;background:#fff;background:var(--color-white,#fff);border:2px solid #f3f4f6;border:2px solid var(--color-bg-gray,#f3f4f6);border-radius:.5rem;border-radius:var(--border-radius,.5rem);cursor:pointer;display:flex;flex-direction:column;padding:1rem;padding:var(--spacing-md,1rem);position:relative;transition:all .3s;transition:all var(--transition-base,.3s)}.service-option:hover{border-color:#0068ad;border-color:var(--color-primary,#0068ad);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);box-shadow:var(--shadow-md,0 4px 6px -1px rgba(0,0,0,.1));transform:translateY(-2px)}.service-option input[type=radio]{height:0;opacity:0;position:absolute;width:0}.service-option input[type=radio]:checked+.service-icon{color:#06f;color:var(--color-primary,#06f);transform:scale(1.3)}.service-option input[type=radio]:checked~.service-name{color:#06f;color:var(--color-primary,#06f);font-weight:700;font-weight:var(--font-weight-bold,700)}.service-option:has(input[type=radio]:checked){background:rgba(0,102,255,.1);border-color:#06f;border-color:var(--color-primary,#06f);box-shadow:0 4px 12px rgba(0,102,255,.2)}.service-icon{font-size:2rem;margin-bottom:.5rem}.service-icon,.service-name{transition:all .3s;transition:all var(--transition-base,.3s)}.service-name{color:#1f2937;color:var(--color-text,#1f2937);font-size:.875rem;text-align:center}@media (min-width:768px){.service-icon{font-size:2.5rem}.service-name{font-size:1rem}}.vehicle-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;grid-gap:var(--spacing-sm,.75rem);gap:.75rem;gap:var(--spacing-sm,.75rem);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem)}@media (min-width:576px){.vehicle-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:768px){.vehicle-grid{grid-template-columns:repeat(4,1fr)}}.vehicle-option{align-items:center;background:#fff;background:var(--color-white,#fff);border:2px solid #f3f4f6;border:2px solid var(--color-bg-gray,#f3f4f6);border-radius:.5rem;border-radius:var(--border-radius,.5rem);cursor:pointer;display:flex;flex-direction:column;padding:1rem;padding:var(--spacing-md,1rem);transition:all .3s;transition:all var(--transition-base,.3s)}.vehicle-option:hover{border-color:#06f;border-color:var(--color-primary,#06f);box-shadow:0 4px 8px rgba(0,102,255,.15);transform:translateY(-3px)}.vehicle-option input[type=checkbox]{opacity:0;position:absolute}.vehicle-option input[type=checkbox]:checked+.vehicle-icon{color:#06f;color:var(--color-primary,#06f);transform:scale(1.3)}.vehicle-option:has(input[type=checkbox]:checked){background:rgba(0,102,255,.1);border-color:#06f;border-color:var(--color-primary,#06f);box-shadow:0 4px 12px rgba(0,102,255,.2)}.vehicle-icon{font-size:2rem;margin-bottom:.5rem}.vehicle-name{font-size:.875rem;text-align:center}.location-select-wrapper{margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem);position:relative}.location-search{border:2px solid #f3f4f6;border:2px solid var(--color-bg-gray,#f3f4f6);border-radius:.5rem;border-radius:var(--border-radius,.5rem);font-size:1rem;padding:1rem;padding:var(--spacing-md,1rem);transition:all .3s;transition:all var(--transition-base,.3s);width:100%}.location-search:focus{border-color:#0068ad;border-color:var(--color-primary,#0068ad);box-shadow:0 0 0 3px rgba(0,104,173,.1);outline:none}.location-dropdown{background:#fff;background:var(--color-white,#fff);border:1px solid #f3f4f6;border:1px solid var(--color-bg-gray,#f3f4f6);border-radius:.5rem;border-radius:var(--border-radius,.5rem);box-shadow:0 10px 15px -3px rgba(0,0,0,.1);box-shadow:var(--shadow-lg,0 10px 15px -3px rgba(0,0,0,.1));left:0;margin-top:.25rem;max-height:300px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.location-item{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--color-bg-gray,#f3f4f6);cursor:pointer;padding:1rem;padding:var(--spacing-md,1rem);transition:background .15s;transition:background var(--transition-fast,.15s)}.location-item.selected,.location-item:hover{background:rgba(0,104,173,.05);color:#0068ad;color:var(--color-primary,#0068ad)}.location-item:last-child{border-bottom:none}.popular-locations{margin-top:1.5rem;margin-top:var(--spacing-lg,1.5rem)}.popular-label{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.875rem;margin-bottom:.75rem;margin-bottom:var(--spacing-sm,.75rem)}.popular-tags{display:flex;flex-wrap:wrap;gap:.5rem}.location-tag{background:#f9fafb;background:var(--color-bg-light,#f9fafb);border:1px solid #f3f4f6;border:1px solid var(--color-bg-gray,#f3f4f6);border-radius:9999px;border-radius:var(--border-radius-full,9999px);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .3s;transition:all var(--transition-base,.3s)}.location-tag:hover{background:#0068ad;background:var(--color-primary,#0068ad);border-color:#0068ad;border-color:var(--color-primary,#0068ad);color:#fff;color:var(--color-text-light,#fff)}.timing-options{display:flex;flex-direction:column;gap:.75rem;gap:var(--spacing-sm,.75rem);margin-bottom:1.5rem;margin-bottom:var(--spacing-lg,1.5rem)}.timing-option{align-items:center;background:#fff;background:var(--color-white,#fff);border:2px solid #f3f4f6;border:2px solid var(--color-bg-gray,#f3f4f6);border-radius:.5rem;border-radius:var(--border-radius,.5rem);cursor:pointer;display:flex;padding:1rem;padding:var(--spacing-md,1rem);transition:all .3s;transition:all var(--transition-base,.3s)}.timing-option:hover{border-color:#06f;border-color:var(--color-primary,#06f);box-shadow:0 4px 8px rgba(0,102,255,.15);transform:translateY(-2px)}.timing-option input[type=radio]{margin-right:1rem;margin-right:var(--spacing-md,1rem)}.timing-option:has(input[type=radio]:checked){background:rgba(0,102,255,.1);border-color:#06f;border-color:var(--color-primary,#06f);box-shadow:0 4px 12px rgba(0,102,255,.2)}.timing-icon{font-size:1.5rem;margin-right:.75rem;margin-right:var(--spacing-sm,.75rem)}.timing-name{flex:1;font-weight:500;font-weight:var(--font-weight-medium,500)}.timing-desc{color:#6b7280;color:var(--color-text-secondary,#6b7280);font-size:.875rem}.form-row{display:flex;flex-wrap:wrap;margin:0 -.5rem}.form-group{margin-bottom:1rem;margin-bottom:var(--spacing-md,1rem);padding:0 .5rem}.form-group label{color:#1f2937;color:var(--color-text,#1f2937);display:block;font-size:.875rem;font-weight:500;font-weight:var(--font-weight-medium,500);margin-bottom:.5rem}.form-control{border:2px solid #f3f4f6;border:2px solid var(--color-bg-gray,#f3f4f6);border-radius:.5rem;border-radius:var(--border-radius,.5rem);font-size:1rem;padding:1rem;padding:var(--spacing-md,1rem);transition:all .3s;transition:all var(--transition-base,.3s);width:100%}.form-control:focus{border-color:#06f;border-color:var(--color-primary,#06f);box-shadow:0 0 0 4px rgba(0,102,255,.15);outline:none;transform:translateY(-1px)}textarea.form-control{min-height:100px;resize:vertical}.btn-continue,.btn-submit{background:linear-gradient(135deg,#06f,#00d4ff);background:var(--gradient-cta,linear-gradient(135deg,#06f 0,#00d4ff 100%));border:none;border-radius:9999px;border-radius:var(--border-radius-full,9999px);box-shadow:0 8px 16px rgba(0,102,255,.3);box-shadow:var(--shadow-cta,0 8px 16px rgba(0,102,255,.3));color:#fff;color:var(--color-text-light,#fff);font-size:1rem;font-weight:700;font-weight:var(--font-weight-bold,700);margin-top:1rem;margin-top:var(--spacing-md,1rem);padding:1rem;padding:var(--spacing-md,1rem);transition:all .3s;transition:all var(--transition-base,.3s);width:100%}.btn-continue:hover,.btn-submit:hover{box-shadow:0 12px 24px rgba(0,102,255,.4);transform:translateY(-2px) scale(1.02)}.btn-back{background:transparent;border:1px solid #f3f4f6;border:1px solid var(--color-bg-gray,#f3f4f6);color:#6b7280;color:var(--color-text-secondary,#6b7280);margin-top:1rem;margin-top:var(--spacing-md,1rem);padding:1rem;padding:var(--spacing-md,1rem);width:100%}.btn-back:hover{background:#f3f4f6;background:var(--color-bg-gray,#f3f4f6);color:#1f2937;color:var(--color-text,#1f2937)}.step-actions{display:flex;gap:.75rem;gap:var(--spacing-sm,.75rem);margin-top:1.5rem;margin-top:var(--spacing-lg,1.5rem)}.step-actions .btn-back,.step-actions .btn-continue,.step-actions .btn-submit{flex:1;margin-top:0}.error-message{color:#d81a21;color:var(--color-accent,#d81a21);font-size:.875rem;margin-top:.75rem;margin-top:var(--spacing-sm,.75rem);min-height:1.5rem;text-align:center}@media (max-width:767px){.modal-dialog{margin:.5rem;max-width:calc(100% - 1rem)}.booking-modal-body{padding:.75rem;padding:var(--spacing-sm,.75rem)}.service-grid,.vehicle-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.service-option,.vehicle-option{padding:.75rem .5rem}.service-icon,.vehicle-icon{font-size:1.5rem}.service-name,.vehicle-name{font-size:.75rem}.step-title{font-size:1.25rem}.timing-option{align-items:flex-start;flex-direction:column;text-align:left}.timing-icon{margin-bottom:.5rem}.form-row{margin:0}.form-group{padding:0;width:100%}}.hide{display:none!important}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.service-option:focus-within,.timing-option:focus-within,.vehicle-option:focus-within{outline:2px solid #0068ad;outline:2px solid var(--color-primary,#0068ad);outline-offset:2px}