.modal-overlay{z-index:9999999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default;background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}body.modal-open{overflow:hidden}.callback-modal{background-color:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:500px;max-height:90vh;animation:.3s ease-out modalFadeIn;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000004d}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close-btn{color:#666;cursor:pointer;z-index:9999;pointer-events:auto;background-color:#0000001a;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;transition:all .2s;display:flex;position:absolute;top:15px;right:15px}.modal-close-btn:hover{color:#333;background-color:#0003}.callback-modal-header{border-bottom:1px solid #eee;padding:30px 30px 20px}.callback-modal-header h2{color:#333;text-align:center;margin:0 0 15px;font-size:24px;font-weight:600}.progress-bar{background-color:#e0e0e0;border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-fill{background-color:var(--primary-green);border-radius:2px;height:100%;transition:width .3s}.callback-modal-content{flex:1;padding:30px;overflow-y:auto}.callback-step h3{color:#333;text-align:center;margin:0 0 25px;font-size:18px;font-weight:500;line-height:1.4}.form-group{margin-bottom:20px}.form-group label{color:#333;margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{color:#333;box-sizing:border-box;background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px 16px;font-size:16px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-green);outline:none}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.form-group select{cursor:pointer;-webkit-appearance:none;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:16px;padding-right:40px}.character-count{text-align:right;color:#666;margin-top:5px;font-size:12px}.callback-modal .phone-input-with-flags{width:100%;font-size:16px}.callback-modal .PhoneInput{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;align-items:center;height:48px;padding:0 10px 0 15px;transition:border-color .2s;display:flex}.callback-modal .PhoneInput:focus-within{border-color:var(--primary-green);outline:none}.callback-modal .PhoneInput.error{border-color:#dc3545}.callback-modal .error-message{color:#dc3545;margin-top:5px;font-size:14px;display:block}.callback-modal .PhoneInputCountry{border-right:1px solid #e0e0e0;align-self:stretch;align-items:center;margin-right:10px;padding-right:10px;display:flex;position:relative}.callback-modal .PhoneInputCountrySelect{z-index:1;opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;top:0;left:0}.callback-modal .PhoneInputCountryIcon{justify-content:center;align-items:center;width:24px;height:20px;display:flex}.callback-modal .PhoneInputCountryIcon--border{box-shadow:none;background-color:#0000}.callback-modal .PhoneInputInput{background:0 0;border:none;flex:1;min-width:0;height:44px;padding:0 5px;font-size:16px;box-shadow:none!important;outline:none!important}.callback-modal .PhoneInputInput:focus{box-shadow:none!important;border:none!important;outline:none!important}.callback-modal .input-help-text{color:#666;margin-top:6px;font-size:13px}.confirmation-step{text-align:center}.confirmation-details{background-color:#f8f9fa;border-radius:12px;margin:20px 0;padding:25px}.confirmation-icon{justify-content:center;margin-bottom:15px;display:flex}.confirmation-content{text-align:left}.call-time{color:var(--primary-green);text-align:center;margin-bottom:15px;font-size:18px;font-weight:600}.contact-info{border-bottom:1px solid #e0e0e0;margin-bottom:15px;padding-bottom:15px}.contact-info div{color:#333;margin-bottom:5px}.travel-details div{color:#666;margin-bottom:8px;font-size:14px}.callback-modal-footer{border-top:1px solid #eee;justify-content:space-between;align-items:center;padding:20px 30px 30px;display:flex}.back-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:color .2s}.back-btn:hover{color:#333}.back-btn:disabled{color:#ccc;cursor:not-allowed}.continue-btn,.confirm-btn{background-color:var(--primary-green);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-left:auto;padding:12px 24px;font-size:14px;font-weight:600;transition:background-color .2s}.continue-btn:hover,.confirm-btn:hover{background-color:var(--primary-green-hover)}.continue-btn:disabled,.confirm-btn:disabled{cursor:not-allowed;background-color:#ccc}.submit-success,.submit-error{text-align:center;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.success-icon{background-color:var(--primary-green);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:20px;font-size:30px;font-weight:700;display:flex}.error-icon{color:#fff;background-color:#f44336;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:20px;font-size:30px;font-weight:700;display:flex}.submit-success h3,.submit-error h3{color:#333;margin:0 0 15px;font-size:20px}.submit-success p,.submit-error p{color:#666;margin:0 0 20px;line-height:1.5}.retry-btn{background-color:var(--primary-green);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:background-color .2s}.retry-btn:hover{background-color:var(--primary-green-hover)}@media (max-width:768px){.callback-modal{max-width:95%;margin:10px}.callback-modal-header,.callback-modal-content,.callback-modal-footer{padding:20px}.callback-modal-header h2{font-size:20px}.callback-step h3,.form-group input,.form-group select,.form-group textarea{font-size:16px}}@media (max-width:480px){.callback-modal-footer{flex-direction:column;gap:15px}.continue-btn,.confirm-btn{width:100%;margin-left:0}}
