﻿@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");.booking-wizard-v2{all:initial;font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;line-height:24px;color:#101828;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.booking-wizard-v2 *{margin:0;padding:0;box-sizing:border-box}.booking-wizard-v2 .hidden{display:none !important}.booking-wizard-v2 .wizard-wrapper{background-color:#ffffff;min-height:100vh}.booking-wizard-v2 .wizard-nav{background-color:#ffffff;border-bottom:1px solid #e5e7eb}.booking-wizard-v2 .wizard-nav-inner{max-width:1100px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between}.booking-wizard-v2 .nav-logo a{display:inline-block}.booking-wizard-v2 .nav-logo img{height:36px;width:auto;display:block}.booking-wizard-v2 .nav-help .help-link{color:#3e3a8f;text-decoration:none;font-size:14px}.booking-wizard-v2 .nav-help .help-link:hover{text-decoration:underline}.booking-wizard-v2 .nav-help .help-text-short{display:none}.booking-wizard-v2 .wizard-container{width:100%;max-width:1100px;margin:0 auto;padding:48px 32px;display:grid;grid-template-columns:auto 1fr;column-gap:16px}.booking-wizard-v2 .wizard-sidebar{grid-column:1;display:flex;flex-direction:column;padding:0;position:sticky;top:48px;height:fit-content;align-self:start}.booking-wizard-v2 .sidebar-steps{display:flex;flex-direction:column;gap:8px}.booking-wizard-v2 .sidebar-step{display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:8px;cursor:default;transition:background-color 0.2s ease}.booking-wizard-v2 .sidebar-step .sidebar-step-number{width:36px;height:36px;border:2px solid #e5e7eb;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#99a1af;background-color:#ffffff;flex-shrink:0;transition:all 0.2s ease}.booking-wizard-v2 .sidebar-step .sidebar-step-label{font-size:16px;font-weight:500;color:#6a7282;transition:all 0.2s ease}.booking-wizard-v2 .sidebar-step.active{background-color:transparent}.booking-wizard-v2 .sidebar-step.active .sidebar-step-number{background-color:#3e3a8f;border-color:#3e3a8f;color:#ffffff}.booking-wizard-v2 .sidebar-step.active .sidebar-step-label{color:#3e3a8f;font-weight:600}.booking-wizard-v2 .sidebar-step.completed .sidebar-step-number{background-color:#3e3a8f;border-color:#3e3a8f;color:#ffffff}.booking-wizard-v2 .sidebar-step.completed .sidebar-step-label{color:#101828}.booking-wizard-v2 .step-pill{display:none;font-size:12px;font-weight:600;color:#3e3a8f;background:rgba(62,58,143,0.1);padding:4px 12px;border-radius:20px;width:fit-content;letter-spacing:0.5px;margin-bottom:4px}.booking-wizard-v2 .wizard-main{grid-column:2;display:flex;flex-direction:column;min-width:0}.booking-wizard-v2 .wizard-step-header{max-width:672px;margin:0 auto;padding:0 0 12px 0}.booking-wizard-v2 .wizard-step-header h1{margin-bottom:4px}.booking-wizard-v2 .wizard-step-header .subtitle{margin-bottom:0}.booking-wizard-v2 .wizard-content{overflow:hidden;width:100%;background-color:#ffffff}.booking-wizard-v2 .content-wrapper{width:100%;padding:0}.booking-wizard-v2 .form-container{width:100%}.booking-wizard-v2 .form-container:not(.form-container-wide){padding:0 0 48px 0;max-width:672px;margin:0 auto}.booking-wizard-v2 .step-single-column{display:flex;flex-direction:column}.booking-wizard-v2 .location-card.card{padding:0;overflow:hidden}.booking-wizard-v2 .location-card-details{padding:24px}.booking-wizard-v2 .location-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.booking-wizard-v2 .location-card-header .location-card-icon{width:20px;height:20px}.booking-wizard-v2 .location-card-header h3{margin-bottom:0}.booking-wizard-v2 .location-card-address{font-size:16px;color:#101828;margin-bottom:4px}.booking-wizard-v2 .location-card-service{font-size:14px;color:#6a7282}.booking-wizard-v2 .location-card-availability{display:flex;align-items:flex-start;gap:8px;margin-top:12px}.booking-wizard-v2 .location-card-availability .availability-icon{width:16px;height:16px;margin-top:2px;flex-shrink:0}.booking-wizard-v2 .availability-slots{display:flex;flex-direction:column;gap:4px}.booking-wizard-v2 .availability-slot{display:flex;gap:8px;font-size:14px}.booking-wizard-v2 .availability-slot .availability-date{font-weight:500;color:#101828}.booking-wizard-v2 .availability-slot .availability-time{color:#6a7282}.booking-wizard-v2 .location-card-map{width:100%}.booking-wizard-v2 .summary-map-container{width:100%;height:250px;background-color:#f0f0f0;overflow:hidden}.booking-wizard-v2 .job-description-card .card-header{background:none;border-bottom:none;padding:0}.booking-wizard-v2 .job-description-card .job-description-service{font-size:14px;color:#6a7282;margin-top:4px}.booking-wizard-v2 h1{font-size:32px;font-weight:700;line-height:40px;color:#101828;margin-bottom:8px;letter-spacing:-0.02em}.booking-wizard-v2 h2{font-size:24px;font-weight:600;line-height:32px;color:#101828;margin-bottom:8px}.booking-wizard-v2 h3{font-size:18px;font-weight:600;line-height:28px;color:#101828}.booking-wizard-v2 h4{font-size:16px;font-weight:600;line-height:24px;color:#101828}.booking-wizard-v2 .subtitle{font-size:16px;color:#6a7282;line-height:24px;margin-bottom:24px;font-weight:400}.booking-wizard-v2 .text-sm{font-size:14px;line-height:20px}.booking-wizard-v2 .text-xs{font-size:12px;line-height:16px}.booking-wizard-v2 .form-group{margin-bottom:0}.booking-wizard-v2 #step-4 .form-group{margin-bottom:12px}.booking-wizard-v2 #step-4 .form-label{margin-bottom:8px}.booking-wizard-v2 .form-label{display:block;font-size:16px;font-weight:700;color:#101828;margin-bottom:4px;line-height:24px}.booking-wizard-v2 .form-label .required{color:#fb2c36}.booking-wizard-v2 .form-sublabel{font-size:12px;color:#4a5565;line-height:16px;margin-top:4px}.booking-wizard-v2 .form-input,.booking-wizard-v2 .wizard-input,.booking-wizard-v2 .form-textarea,.booking-wizard-v2 .form-select{width:100%;padding:12px;font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;line-height:24px;color:#101828;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all 0.2s ease}.booking-wizard-v2 .form-input::placeholder,.booking-wizard-v2 .wizard-input::placeholder,.booking-wizard-v2 .form-textarea::placeholder,.booking-wizard-v2 .form-select::placeholder{color:#99a1af;font-size:16px}.booking-wizard-v2 .form-input:focus,.booking-wizard-v2 .wizard-input:focus,.booking-wizard-v2 .form-textarea:focus,.booking-wizard-v2 .form-select:focus{outline:none;border-color:#3e3a8f;box-shadow:0 0 0 3px rgba(62,58,143,0.1)}.booking-wizard-v2 .form-input:disabled,.booking-wizard-v2 .wizard-input:disabled,.booking-wizard-v2 .form-textarea:disabled,.booking-wizard-v2 .form-select:disabled{opacity:0.5;cursor:not-allowed;background-color:#f9fafb}.booking-wizard-v2 .form-textarea{min-height:100px;resize:vertical}.booking-wizard-v2 .form-textarea.job-description-textarea{background-color:#ffffff}.booking-wizard-v2 .form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;padding-right:40px}.booking-wizard-v2 .form-checkbox-group{display:flex;align-items:flex-start;gap:12px}.booking-wizard-v2 .form-checkbox{width:16px;height:16px;margin-top:2px;accent-color:#3e3a8f}.booking-wizard-v2 .textarea-wrapper{position:relative}.booking-wizard-v2 .textarea-wrapper .form-textarea{padding-bottom:2rem}.booking-wizard-v2 .character-count{position:absolute;bottom:8px;right:12px;font-size:12px;color:#6a7282;pointer-events:none}.booking-wizard-v2 .btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:600;line-height:24px;border-radius:10px;border:none;cursor:pointer;transition:all 0.2s ease;text-decoration:none;min-height:48px;overflow:visible}.booking-wizard-v2 .btn:disabled{opacity:0.4;cursor:not-allowed}.booking-wizard-v2 .btn-primary{background-color:#3e3a8f;color:#ffffff;width:100%}.booking-wizard-v2 .btn-primary:hover:not(:disabled){background-color:#312e72}.booking-wizard-v2 .btn-primary:disabled{background-color:#e5e7eb;color:#9ca3af}.booking-wizard-v2 .btn-secondary{background-color:#ffffff;color:#101828;border:1px solid rgba(0,0,0,0.1)}.booking-wizard-v2 .btn-secondary:hover:not(:disabled){background-color:#f9fafb}.booking-wizard-v2 .btn-dropdown{background-color:#3e3a8f;color:#ffffff;width:100%;justify-content:space-between;padding:12px 16px;display:flex;align-items:center;border-radius:8px;border:1px solid #3e3a8f;font-size:16px;cursor:pointer;transition:all 0.2s ease}.booking-wizard-v2 .btn-dropdown:hover{background-color:#36337d}.booking-wizard-v2 .btn-dropdown .dropdown-icon{width:20px;height:20px;filter:brightness(0) invert(1)}.booking-wizard-v2 .btn-link{background:none;border:none;color:#3e3a8f;padding:0;font-size:14px;min-height:auto;text-decoration:none}.booking-wizard-v2 .btn-link:hover{text-decoration:underline}.booking-wizard-v2 .btn-flex{flex:1}.booking-wizard-v2 .btn-group{display:flex;gap:16px;margin-top:24px}.booking-wizard-v2 .btn-group.btn-group-schedule,.booking-wizard-v2 .btn-group.btn-group-summary,.booking-wizard-v2 .btn-group.btn-group-payment{display:grid;grid-template-columns:minmax(120px, auto) 1fr;gap:16px}.booking-wizard-v2 .btn-group.btn-group-schedule .btn,.booking-wizard-v2 .btn-group.btn-group-summary .btn,.booking-wizard-v2 .btn-group.btn-group-payment .btn{border-radius:10px !important}.booking-wizard-v2 .btn-group.btn-group-schedule .btn-primary,.booking-wizard-v2 .btn-group.btn-group-schedule .btn-continue,.booking-wizard-v2 .btn-group.btn-group-summary .btn-primary,.booking-wizard-v2 .btn-group.btn-group-summary .btn-continue,.booking-wizard-v2 .btn-group.btn-group-payment .btn-primary,.booking-wizard-v2 .btn-group.btn-group-payment .btn-continue{width:100%}.booking-wizard-v2 .btn-group.btn-group-schedule{gap:12px}.booking-wizard-v2 .btn-group.btn-group-confirmation{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.booking-wizard-v2 .btn-group.btn-group-confirmation .btn{width:100%;padding:12px 24px;font-size:14px;font-weight:600}.booking-wizard-v2 .btn-group.btn-group-confirmation .btn-secondary{background:#ffffff;border:1px solid #e5e7eb;color:#101828}.booking-wizard-v2 .btn-group.btn-group-confirmation .btn-secondary:hover{background:#f9fafb}.booking-wizard-v2 .btn-group.btn-group-confirmation .btn-primary{background:#3e3a8f;border:1px solid #3e3a8f;color:#ffffff}.booking-wizard-v2 .btn-group.btn-group-confirmation .btn-primary:hover{background:#2e2b6b}.booking-wizard-v2 .card{background-color:#ffffff;border:1px solid #e5e7eb;border-radius:10px;padding:24px;margin-bottom:24px}.booking-wizard-v2 .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.booking-wizard-v2 .card-title{font-size:18px;font-weight:600;color:#101828}.booking-wizard-v2 .card-action{display:flex;align-items:center;gap:8px;color:#3e3a8f;font-size:14px;font-weight:500;cursor:pointer;text-decoration:none}.booking-wizard-v2 .card-action:hover{text-decoration:underline}.booking-wizard-v2 .card-action .icon{width:16px;height:16px}.booking-wizard-v2 .card-content{font-size:16px;color:#364153;line-height:26px}.booking-wizard-v2 .card-content.job-description-content{color:#101828;line-height:24px}.booking-wizard-v2 .info-card{background-color:#eff6ff;border-color:#bedbff}.booking-wizard-v2 .info-card .info-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.booking-wizard-v2 .info-card .info-header .info-icon{width:20px;height:20px}.booking-wizard-v2 .info-card .info-text{font-size:14px;color:#4a5565;line-height:20px;padding-left:calc(20px + 12px)}.booking-wizard-v2 .issue-heading{display:block;font-size:16px;color:#6a7282;font-weight:400;line-height:24px;margin-bottom:8px}.booking-wizard-v2 .issue-collapsed .issue-collapsed-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.booking-wizard-v2 .issue-collapsed .issue-collapsed-header h4{font-size:16px;font-weight:600;color:#101828;margin:0}.booking-wizard-v2 .issue-collapsed .issue-collapsed-content{background-color:#f9fafb;border-radius:8px;padding:12px 16px;font-size:16px;color:#364153;line-height:26px}.booking-wizard-v2 .selected-category-container{margin-bottom:32px}.booking-wizard-v2 .selected-category-container .category-badge{display:inline-flex;align-items:center;gap:8px;background-color:#3e3a8f;color:#ffffff;padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color 0.15s ease}.booking-wizard-v2 .selected-category-container .category-badge:hover{background-color:#312e72}.booking-wizard-v2 .selected-category-container .category-badge-text{line-height:1.4}.booking-wizard-v2 .selected-category-container .category-badge-close{font-size:1.25rem;line-height:1;opacity:0.8}.booking-wizard-v2 .selected-category-container .category-badge-close:hover{opacity:1}.booking-wizard-v2 .service-results-section{margin-top:8px}.booking-wizard-v2 .service-results-section .results-header{margin-bottom:8px}.booking-wizard-v2 .service-results-section .results-label{font-size:14px;font-weight:500;color:#6a7282}.booking-wizard-v2 .service-results-section .results-searching,.booking-wizard-v2 .service-results-section .results-ready{padding:8px 12px;font-size:12px;color:#4a5565;border-bottom:1px solid #e5e7eb}.booking-wizard-v2 .service-results-section .results-searching{background:#f9fafb}.booking-wizard-v2 .service-results-section .results-ready{background:#f0fdf4;color:#059669}.booking-wizard-v2 .service-results-section .results-empty{padding:16px;text-align:center;color:#4a5565;font-size:14px}.booking-wizard-v2 .service-results-section .service-results-list{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;max-height:400px;overflow-y:auto}.booking-wizard-v2 .service-results-section .service-result-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #e5e7eb;transition:background 0.15s ease}.booking-wizard-v2 .service-results-section .service-result-item:last-child{border-bottom:none}.booking-wizard-v2 .service-results-section .service-result-item:hover{background:#f5f3ff}.booking-wizard-v2 .service-results-section .service-result-name{font-size:16px;font-weight:600;color:#3e3a8f;margin-bottom:2px}.booking-wizard-v2 .service-results-section .service-result-desc{font-size:14px;color:#4a5565;line-height:20px}.booking-wizard-v2 .service-location{margin-top:24px;margin-bottom:24px}.booking-wizard-v2 .service-location .service-location-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.booking-wizard-v2 .service-location .service-location-header h4{font-size:16px;font-weight:600;color:#101828;margin:0}.booking-wizard-v2 .service-location .service-location-content{background-color:#f9fafb;border-radius:8px;padding:12px 16px;font-size:16px;color:#364153;line-height:26px}.booking-wizard-v2 .service-location.needs-attention .address-search-container .form-input{border-color:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,0.3);animation:pulse-border 2s ease-in-out}.booking-wizard-v2 .service-location.needs-attention .address-search-container .form-input:focus{animation:none;border-color:#e5e7eb;box-shadow:none}@keyframes pulse-border{0%,100%{box-shadow:0 0 0 4px rgba(34,197,94,0.3)}50%{box-shadow:0 0 0 8px rgba(34,197,94,0.15)}}.booking-wizard-v2 .pac-container{margin-top:4px;border-radius:8px;border:1px solid #e5e7eb;font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;box-shadow:0 2px 8px rgba(0,0,0,0.1)}.booking-wizard-v2 .pac-container .pac-item{padding:8px 12px;font-size:16px;line-height:24px;cursor:pointer}.booking-wizard-v2 .pac-container .pac-item:hover{background-color:#f9fafb}.booking-wizard-v2 .pac-container .pac-item .pac-item-query{font-size:16px;color:#101828}.booking-wizard-v2 .calendar-section{margin-bottom:32px}.booking-wizard-v2 .calendar-section .calendar-header{font-size:16px;font-weight:600;color:#101828;margin-bottom:16px}.booking-wizard-v2 .calendar-section .calendar-weekdays{display:grid;grid-template-columns:repeat(7, 1fr);gap:12px;margin-bottom:12px}.booking-wizard-v2 .calendar-section .calendar-weekdays .weekday{text-align:center;font-size:14px;font-weight:500;color:#6a7282;padding:8px 0}.booking-wizard-v2 .calendar-section .calendar-dates{display:grid;grid-template-columns:repeat(7, 1fr);gap:12px}.booking-wizard-v2 .calendar-section .calendar-dates .date-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background-color:#f9fafb;border-radius:10px;font-size:14px;font-weight:500;color:#101828;cursor:pointer;transition:all 0.2s ease}.booking-wizard-v2 .calendar-section .calendar-dates .date-cell:hover{background-color:#eaedf1}.booking-wizard-v2 .calendar-section .calendar-dates .date-cell.selected{background-color:#3e3a8f;color:#ffffff}.booking-wizard-v2 .calendar-section .calendar-dates .date-cell.disabled{opacity:0.3;cursor:not-allowed;pointer-events:none}.booking-wizard-v2 .calendar-section .calendar-dates .date-cell.empty{background-color:transparent;cursor:default;pointer-events:none}.booking-wizard-v2 .time-slots{margin-bottom:32px}.booking-wizard-v2 .time-slots .slots-header{font-size:16px;font-weight:600;color:#101828;margin-bottom:16px}.booking-wizard-v2 .time-slots .slots-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px}.booking-wizard-v2 .time-slots .slots-grid .time-slot{padding:16px 24px;background-color:#ffffff;border:2px solid #e5e7eb;border-radius:10px;text-align:center;cursor:pointer;transition:all 0.2s ease}.booking-wizard-v2 .time-slots .slots-grid .time-slot:hover{border-color:#3e3a8f}.booking-wizard-v2 .time-slots .slots-grid .time-slot.selected{border-color:#3e3a8f;background-color:#c8c6e8}.booking-wizard-v2 .time-slots .slots-grid .time-slot .slot-title{font-size:16px;font-weight:600;color:#364153;margin-bottom:4px}.booking-wizard-v2 .time-slots .slots-grid .time-slot .slot-time{font-size:14px;font-weight:500;color:#4a5565}.booking-wizard-v2 .coordinate-option{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px;margin-bottom:32px}.booking-wizard-v2 .coordinate-option .coordinate-content{display:flex;gap:12px;align-items:flex-start}.booking-wizard-v2 .coordinate-option .coordinate-content .coordinate-checkbox{width:16px;height:16px;margin-top:2px;accent-color:#3e3a8f}.booking-wizard-v2 .coordinate-option .coordinate-content .coordinate-text{flex:1}.booking-wizard-v2 .coordinate-option .coordinate-content .coordinate-text .coordinate-label{font-size:14px;font-weight:500;color:#101828;margin-bottom:4px}.booking-wizard-v2 .coordinate-option .coordinate-content .coordinate-text .coordinate-sublabel{font-size:12px;color:#4a5565}.booking-wizard-v2 .onsite-contact-form{margin-top:48px;margin-bottom:48px}.booking-wizard-v2 .onsite-contact-form .onsite-description{font-size:16px;color:#101828;margin-bottom:32px;line-height:24px}.booking-wizard-v2 .onsite-contact-form .onsite-description .required{color:#fb2c36}.booking-wizard-v2 .onsite-contact-form .form-label{font-weight:600}.booking-wizard-v2 .estimated-cost-card .cost-header{display:flex;align-items:center;margin-bottom:12px;padding:0;background:transparent;border:none}.booking-wizard-v2 .estimated-cost-card .cost-icon{width:20px;height:20px;margin-right:8px;flex-shrink:0}.booking-wizard-v2 .estimated-cost-card .cost-title{font-size:18px;font-weight:600;color:#101828;margin:0;display:flex;align-items:center}.booking-wizard-v2 .estimated-cost-card .cost-title span{margin-left:8px;color:#101828}.booking-wizard-v2 .estimated-cost-card .cost-breakdown,.booking-wizard-v2 .estimated-cost-card .breakdown-note{padding-left:calc(20px + 8px)}.booking-wizard-v2 .cost-breakdown .breakdown-item{display:flex;justify-content:space-between;align-items:center;font-size:16px;line-height:20px;margin-bottom:16px}.booking-wizard-v2 .cost-breakdown .breakdown-item .breakdown-label{color:#101828}.booking-wizard-v2 .cost-breakdown .breakdown-item .breakdown-value{font-weight:500;color:#101828;text-align:right}.booking-wizard-v2 .breakdown-note{font-size:14px;color:#4a5565;line-height:24px}.booking-wizard-v2 .collapsible{background-color:#ffffff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:24px}.booking-wizard-v2 .collapsible .collapsible-header{padding:16px 24px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none}.booking-wizard-v2 .collapsible .collapsible-header:hover{background-color:#f9fafb}.booking-wizard-v2 .collapsible .collapsible-header .collapsible-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;color:#101828}.booking-wizard-v2 .collapsible .collapsible-header .collapsible-title .icon{width:20px;height:20px}.booking-wizard-v2 .collapsible .collapsible-header .collapse-arrow{width:20px;height:20px;transition:transform 0.2s ease}.booking-wizard-v2 .collapsible .collapsible-header .collapse-arrow.expanded{transform:rotate(180deg)}.booking-wizard-v2 .collapsible .collapsible-content{padding:0 24px 24px;display:none}.booking-wizard-v2 .collapsible .collapsible-content.expanded{display:block}.booking-wizard-v2 .summary-field{margin-bottom:16px}.booking-wizard-v2 .summary-field .summary-label{font-size:14px;color:#6a7282;margin-bottom:4px}.booking-wizard-v2 .summary-field .summary-value{font-size:16px;font-weight:600;color:#101828}.booking-wizard-v2 .summary-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-wizard-v2 .contact-heading{margin-bottom:24px}.booking-wizard-v2 .onsite-contact-card{background-color:#eff6ff;border:1px solid #bedbff;border-radius:10px;padding:24px;margin-top:24px}.booking-wizard-v2 .onsite-contact-card .onsite-description{font-size:14px;color:#4a5565;line-height:24px;margin-bottom:16px}.booking-wizard-v2 .payment-details-header{display:flex;align-items:center;gap:8px;margin-bottom:24px}.booking-wizard-v2 .payment-details-header .info-icon{width:20px;height:20px}.booking-wizard-v2 .payment-details-header h4{margin-bottom:0}.booking-wizard-v2 .payment-card-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-wizard-v2 .legal-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:3000;align-items:center;justify-content:center}.booking-wizard-v2 .legal-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5)}.booking-wizard-v2 .legal-modal-dialog{position:relative;background:#ffffff;border-radius:10px;width:90%;max-width:680px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,0.15)}.booking-wizard-v2 .legal-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.booking-wizard-v2 .legal-modal-header h3{margin-bottom:0}.booking-wizard-v2 .legal-modal-close{background:none;border:none;font-size:24px;color:#6a7282;cursor:pointer;padding:0;line-height:1}.booking-wizard-v2 .legal-modal-close:hover{color:#101828}.booking-wizard-v2 .legal-modal-body{padding:24px;overflow-y:auto;font-size:14px;line-height:24px;color:#4a5565}.booking-wizard-v2 .legal-modal-body h1,.booking-wizard-v2 .legal-modal-body h2,.booking-wizard-v2 .legal-modal-body h3,.booking-wizard-v2 .legal-modal-body h4{color:#101828;margin-top:24px;margin-bottom:12px}.booking-wizard-v2 .legal-modal-body p{margin-bottom:12px}.booking-wizard-v2 .legal-modal-body ul,.booking-wizard-v2 .legal-modal-body ol{padding-left:24px;margin-bottom:12px}.booking-wizard-v2 .legal-loading{text-align:center;padding:48px;color:#6a7282}.booking-wizard-v2 .deposit-box{background-color:#ffffff;border:2px solid #3e3a8f;border-radius:10px;padding:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.booking-wizard-v2 .deposit-box .deposit-info .deposit-label{font-size:14px;color:#4a5565;margin-bottom:4px}.booking-wizard-v2 .deposit-box .deposit-info .deposit-amount{font-size:30px;font-weight:700;color:#101828}.booking-wizard-v2 .deposit-box .deposit-icon{width:32px;height:32px}.booking-wizard-v2 .modal{display:none !important;position:fixed;z-index:1050;left:0;top:0;width:100%;height:100%;overflow:hidden;outline:0;background-color:rgba(0,0,0,0.5)}.booking-wizard-v2 .modal.show{display:block !important}.booking-wizard-v2 .modal-dialog{position:relative;width:auto;margin:1.75rem auto;max-width:500px}.booking-wizard-v2 .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 3.5rem)}.booking-wizard-v2 .modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#ffffff;background-clip:padding-box;border:1px solid #e5e7eb;border-radius:10px;outline:0}.booking-wizard-v2 .modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid #e5e7eb;border-top-left-radius:10px;border-top-right-radius:10px}.booking-wizard-v2 .modal-header .modal-title{margin-bottom:0;line-height:1.5;font-size:18px;font-weight:600;color:#101828}.booking-wizard-v2 .modal-header .close{padding:0;background-color:transparent;border:0;font-size:1.5rem;font-weight:700;line-height:1;color:#101828;opacity:0.5;cursor:pointer}.booking-wizard-v2 .modal-header .close:hover{opacity:0.8}.booking-wizard-v2 .modal-body{position:relative;flex:1 1 auto;padding:24px}.booking-wizard-v2 .modal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;border-bottom-right-radius:10px;border-bottom-left-radius:10px}.booking-wizard-v2 #inline-loading,.booking-wizard-v2 #inline-reanalysis-loading{border:1px solid #e5e7eb;border-radius:10px;background-color:#ffffff;margin-bottom:24px;animation:inlineLoadingFadeIn 0.3s ease}@keyframes inlineLoadingFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.booking-wizard-v2 .inline-loading-content{text-align:center;padding:48px 24px}.booking-wizard-v2 .analysis-spinner{width:72px;height:72px;margin:0 auto 32px;position:relative}.booking-wizard-v2 .analysis-spinner .spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:3px solid transparent;border-top-color:#3e3a8f;animation:spinnerRotate 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite}.booking-wizard-v2 .analysis-spinner .spinner-ring.ring-2{width:56px;height:56px;top:8px;left:8px;border-top-color:rgba(62,58,143,0.5);animation-delay:-0.15s;animation-duration:1.6s}.booking-wizard-v2 .analysis-spinner .spinner-ring.ring-3{width:40px;height:40px;top:16px;left:16px;border-top-color:rgba(62,58,143,0.25);animation-delay:-0.3s;animation-duration:2s}@keyframes spinnerRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.booking-wizard-v2 .analysis-status-text{font-size:18px;font-weight:600;color:#101828;margin-bottom:32px;transition:opacity 0.2s ease}.booking-wizard-v2 .analysis-steps{display:inline-flex;flex-direction:column;gap:12px;text-align:left}.booking-wizard-v2 .analysis-step{display:flex;align-items:center;gap:12px;font-size:14px;color:#99a1af;transition:all 0.3s ease}.booking-wizard-v2 .analysis-step .step-dot{width:10px;height:10px;border-radius:50%;background-color:#e5e7eb;flex-shrink:0;transition:all 0.3s ease}.booking-wizard-v2 .analysis-step.active{color:#3e3a8f;font-weight:500}.booking-wizard-v2 .analysis-step.active .step-dot{background-color:#3e3a8f;box-shadow:0 0 0 4px rgba(62,58,143,0.15);animation:dotPulse 1.5s ease infinite}.booking-wizard-v2 .analysis-step.completed{color:#4a5565}.booking-wizard-v2 .analysis-step.completed .step-dot{background-color:#22c55e;box-shadow:none;animation:none}@keyframes dotPulse{0%,100%{box-shadow:0 0 0 4px rgba(62,58,143,0.15)}50%{box-shadow:0 0 0 8px rgba(62,58,143,0.08)}}.booking-wizard-v2 #inline-analysis-section .card{margin-bottom:0}.booking-wizard-v2 .issue-description-card{border:none;padding:24px 0}.booking-wizard-v2 .issue-description-card .card-header{background:none;border-bottom:none;padding:0;margin-bottom:16px}.booking-wizard-v2 .issue-description-card .card-content{background-color:#f9fafb;border-radius:8px;padding:16px}.booking-wizard-v2 .inline-question-title{font-size:16px;font-weight:600;color:#101828;margin-bottom:16px}.booking-wizard-v2 .inline-options-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:12px}.booking-wizard-v2 .inline-option-card{border:1px solid #e5e7eb;border-radius:8px;padding:12px 16px;cursor:pointer;font-size:14px;font-weight:500;color:#101828;transition:all 0.2s ease;text-align:center}.booking-wizard-v2 .inline-option-card:hover{border-color:#3e3a8f;background-color:rgba(62,58,143,0.04)}.booking-wizard-v2 .inline-option-card.selected{border-color:#3e3a8f;background-color:rgba(62,58,143,0.08);color:#3e3a8f;font-weight:600}.booking-wizard-v2 .clarification-progress{height:4px;background-color:#e5e7eb;border-radius:2px;margin:24px 0;overflow:hidden}.booking-wizard-v2 .clarification-progress .progress-fill{height:100%;background-color:#3e3a8f;border-radius:2px;transition:width 0.3s ease;width:0}.booking-wizard-v2 .inline-clarification-actions{margin-top:16px}.booking-wizard-v2 .inline-clarification-card,.booking-wizard-v2 .inline-mismatch-card{border:none;padding:0}.booking-wizard-v2 .inline-clarification-card .subtitle,.booking-wizard-v2 .inline-mismatch-card .subtitle{margin-bottom:24px}.booking-wizard-v2 #inline-email-collection .subtitle{margin-bottom:0}.booking-wizard-v2 .category-suggestion-card{border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all 0.2s ease}.booking-wizard-v2 .category-suggestion-card:hover{border-color:#3e3a8f;background-color:rgba(62,58,143,0.04)}.booking-wizard-v2 .category-suggestion-card .category-name{font-size:16px;font-weight:600;color:#101828;margin:8px 0 4px}.booking-wizard-v2 .category-suggestion-card .category-reasoning{font-size:14px;color:#4a5565;line-height:20px;margin:0}.booking-wizard-v2 .confidence-badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:9999px;text-transform:capitalize}.booking-wizard-v2 .confidence-badge.confidence-high{background-color:#dcfce7;color:#166534}.booking-wizard-v2 .confidence-badge.confidence-medium{background-color:#fef9c3;color:#854d0e}.booking-wizard-v2 .confidence-badge.confidence-low{background-color:#fee2e2;color:#991b1b}.booking-wizard-v2 .inline-or-divider{display:flex;align-items:center;margin:24px 0}.booking-wizard-v2 .inline-or-divider::before,.booking-wizard-v2 .inline-or-divider::after{content:'';flex:1;height:1px;background-color:#e5e7eb}.booking-wizard-v2 .inline-or-divider span{padding:0 16px;font-size:14px;color:#6a7282}.booking-wizard-v2 .processing-message{text-align:center;padding:24px 0;color:#6a7282;font-size:14px}@media (max-width: 1024px){.booking-wizard-v2 .wizard-container{display:flex;flex-direction:column;max-width:100%;padding:0}.booking-wizard-v2 .wizard-sidebar{width:100%;height:auto;position:relative;flex-direction:row;align-items:center;padding:0 32px;margin-bottom:36px}.booking-wizard-v2 .sidebar-steps{flex-direction:row;gap:4px;max-width:672px;margin:0 auto;width:100%}.booking-wizard-v2 .sidebar-step{padding:8px 8px 8px 0}.booking-wizard-v2 .sidebar-step .sidebar-step-label{display:none}.booking-wizard-v2 .sidebar-step .sidebar-step-number{width:32px;height:32px;font-size:12px}.booking-wizard-v2 .wizard-step-header{padding:24px 0 12px 0}.booking-wizard-v2 .form-container.form-container-wide{margin:0 !important;width:100% !important;padding:0}.booking-wizard-v2 .content-wrapper{padding:0 32px}}@media (max-width: 768px){.booking-wizard-v2 .wizard-nav-inner{padding:12px 16px}.booking-wizard-v2 .nav-logo img{height:28px}.booking-wizard-v2 .nav-help{font-size:12px}.booking-wizard-v2 .nav-help .help-text-full{display:none}.booking-wizard-v2 .nav-help .help-text-short{display:inline}.booking-wizard-v2 .wizard-container{display:block;padding:0 16px}.booking-wizard-v2 .wizard-sidebar{display:none}.booking-wizard-v2 .step-pill{display:block;margin-top:24px}.booking-wizard-v2 .wizard-step-header{padding:0 0 24px 0}.booking-wizard-v2 .wizard-step-header h1{font-size:24px}.booking-wizard-v2 .issue-collapsed{margin-bottom:0}.booking-wizard-v2 .service-location{border-bottom:none;padding-bottom:0;margin-bottom:24px}.booking-wizard-v2 .content-wrapper{padding:0 16px}.booking-wizard-v2 h1{font-size:24px}.booking-wizard-v2 .form-group{margin-bottom:24px}.booking-wizard-v2 .btn-primary{padding:12px 16px;font-size:16px}.booking-wizard-v2 .slots-grid{grid-template-columns:1fr}.booking-wizard-v2 .inline-options-grid{grid-template-columns:1fr}.booking-wizard-v2 .calendar-weekdays,.booking-wizard-v2 .calendar-dates{gap:4px}.booking-wizard-v2 .btn-group{flex-direction:column-reverse;gap:12px}.booking-wizard-v2 .btn-group .btn{width:100%}.booking-wizard-v2 .btn-group.btn-group-schedule,.booking-wizard-v2 .btn-group.btn-group-summary,.booking-wizard-v2 .btn-group.btn-group-payment{display:flex;flex-direction:column-reverse;gap:12px}}.booking-wizard-v2 .confirmation-page{display:block}.booking-wizard-v2 .confirmation-page .wizard-main{grid-column:1 / -1}.booking-wizard-v2 .confirmation-container .confirmation-header-block{text-align:center;margin-bottom:32px;padding-top:32px}.booking-wizard-v2 .confirmation-container .confirmation-header-block .confirmation-brand{font-size:28px;font-weight:700;color:#101828;margin-bottom:4px}.booking-wizard-v2 .confirmation-container .confirmation-header-block .confirmation-service{font-size:20px;font-weight:600;color:#101828;margin-bottom:8px}.booking-wizard-v2 .confirmation-container .confirmation-header-block .confirmation-address{font-size:14px;color:#6a7282;margin:0}.booking-wizard-v2 .confirmation-container .confirmation-success-card{background:linear-gradient(135deg, #e8f4fd, #e6f9ec);border:1.5px solid #7cc88f;text-align:center;padding:24px}.booking-wizard-v2 .confirmation-container .confirmation-success-card .confirmation-success-inner{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}.booking-wizard-v2 .confirmation-container .confirmation-success-card .confirmation-success-inner .confirmation-check-icon{width:28px;height:28px}.booking-wizard-v2 .confirmation-container .confirmation-success-card .confirmation-success-inner h3{color:#101828;font-size:18px;margin:0}.booking-wizard-v2 .confirmation-container .confirmation-success-card .booking-reference{color:#6a7282;font-size:14px;margin:0}.booking-wizard-v2 .confirmation-container .confirmation-success-card .booking-reference strong{color:#3e3a8f}.booking-wizard-v2 .confirmation-container .confirmation-card-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.booking-wizard-v2 .confirmation-container .confirmation-card-header .confirmation-card-icon{width:24px;height:24px;flex-shrink:0}.booking-wizard-v2 .confirmation-container .confirmation-card-header h4{margin:0;font-size:16px;font-weight:600;color:#101828}.booking-wizard-v2 .confirmation-container .confirmation-card-detail{font-size:16px;color:#101828;margin-bottom:8px}.booking-wizard-v2 .confirmation-container .confirmation-card-text{font-size:14px;color:#6a7282;line-height:1.5}.booking-wizard-v2 .confirmation-container .confirmation-note{display:flex;align-items:flex-start;gap:8px;background:#fefce8;border:1px solid #eab308;border-radius:8px;padding:12px;margin-top:12px}.booking-wizard-v2 .confirmation-container .confirmation-note .note-icon{width:18px;height:18px;flex-shrink:0;margin-top:2px}.booking-wizard-v2 .confirmation-container .confirmation-note p{font-size:14px;color:#101828;line-height:1.5;margin:0}.booking-wizard-v2 .confirmation-container .confirmation-summary-title{font-size:16px;font-weight:600;color:#101828;margin-bottom:16px}.booking-wizard-v2 .confirmation-container .confirmation-summary-field{margin-bottom:12px}.booking-wizard-v2 .confirmation-container .confirmation-summary-field:last-child{margin-bottom:0}.booking-wizard-v2 .confirmation-container .confirmation-summary-field .confirmation-summary-label{display:block;font-size:14px;color:#6a7282;margin-bottom:2px}.booking-wizard-v2 .confirmation-container .confirmation-summary-field .confirmation-summary-value{display:block;font-size:16px;font-weight:500;color:#101828}.booking-wizard-v2 .confirmation-container .next-steps-list{list-style:none;padding:0;margin:0}.booking-wizard-v2 .confirmation-container .next-steps-list li{display:flex;align-items:flex-start;margin-bottom:12px}.booking-wizard-v2 .confirmation-container .next-steps-list li:last-child{margin-bottom:0}.booking-wizard-v2 .confirmation-container .next-steps-list .step-list-icon{width:20px;height:20px;margin-right:12px;margin-top:2px;flex-shrink:0}.booking-wizard-v2 .confirmation-container .next-steps-list .step-list-bullet{width:20px;margin-right:12px;flex-shrink:0;text-align:center;color:#6a7282}.booking-wizard-v2 .confirmation-container .next-steps-list .step-list-bullet::before{content:'•'}.booking-wizard-v2 .confirmation-container .whats-next-card{background-color:#eef3ff;border-color:#d0daf0}.booking-wizard-v2 .confirmation-container .btn-group-confirmation{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px}.booking-wizard-v2 .confirmation-container .btn-group-confirmation .btn{border-radius:10px !important}@media (max-width: 768px){.BeaconFabButtonFrame,#beacon-container .BeaconFabButtonFrame{display:none !important}}
