/*
Generated time: October 8, 2025 06:35
This file was created by the app developer. Feel free to contact the original developer with any questions. It was minified (compressed) by AVADA. AVADA do NOT own this script.
*/
#appointment-form #timeSlotsContainer #timeSlotsLoader{ position: absolute;left: 50%;top: 40%;transform: translate(-50%);}
.appointment-form .appointment-form-container .form-wrapper{border:1px solid #221f2024;box-shadow:0 0 8px 0 #221f201a;padding:40px 50px;border-radius:10px}.appointment-form .section-title-heading{font-family:Nunito;font-weight:700;font-size:20px;line-height:24px;letter-spacing:0;border-bottom:3px solid #ededed!important;margin-bottom:20px;color:#333;padding-bottom:20px}.section-title i{margin-right:15px;background:linear-gradient(135deg,#4e54c8,#8f94fb);color:#fff;padding:12px;border-radius:50%;font-size:18px}.appointment-form .form-group{margin-bottom:20px;display:flex;justify-content:space-between;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px}.appointment-form .input-group{position:relative;width:50%}.appointment-form .full-width{width:100%}.appointment-form .appointment-details,.appointment-form .pet-details,.appointment-form .user-details{margin-bottom:40px}.appointment-form label{display:block;margin-bottom:8px;text-transform:uppercase;color:#333;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:0}.appointment-form .required::after{content:"*";color:#e74c3c;margin-left:4px}.appointment-form input,.appointment-form select,.appointment-form textarea{width:100%;padding:18px 34px 18px 20px;border:1px solid #00000080;border-radius:9px;font-size:14px;transition:all .3s ease;background:#fff;font-family:Nunito;font-weight:400;letter-spacing:0}.appointment-form select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-repeat:no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1.25977 0.75L7.25977 6.75L13.2598 0.75' stroke='%232c3e50' stroke-width='2'/%3E%3C/svg%3E");background-position:right 20px center}.time-slots-dropdown{padding:15.74px 20px!important}.appointment-form input::-webkit-calendar-picker-indicator{display:block;visibility:visible}.appointment-form .custom-select:focus,.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus{outline:0;box-shadow:unset}.appointment-form input:disabled,.appointment-form select:disabled,.appointment-form textarea:disabled{background-color:#f8f9fa;color:#999;cursor:not-allowed;opacity:.6}.appointment-form textarea{min-height:120px;resize:vertical;font-family:inherit}.appointment-form select{cursor:pointer}#timeSlotsContainer #timeSlotsLoader{position: absolute;left: 50%;top: 56%;transform: translate(-50%)}.appointment-form .button-group{display:flex;justify-content:center;margin-top:30px;gap:20px}.appointment-form button{flex:1;padding:16px 30px;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;max-width:240px;font-family:Nunito;font-weight:600;font-size:16px;line-height:1;letter-spacing:1px}.appointment-form #resetBtn{border:1px solid #ed2427;color:#ed2427;background:#fff}.appointment-form #resetBtn:hover{transform:translateY(-2px)}.appointment-form #submitBtn{color:#fff;background:#ed2427}.appointment-form .booking-failed{color:#ed2427}.appointment-form #submitBtn:hover:not(:disabled){transform:translateY(-2px)}.appointment-form #submitBtn:disabled{background:#95a5a6;cursor:not-allowed;transform:none;box-shadow:none}.appointment-form .loading{display:inline-block;width:15px;height:15px;border:2px solid #fff;border-radius:50%;border-top-color:transparent;animation:spin 1s ease-in-out infinite;margin-left:10px}@keyframes spin{to{transform:rotate(360deg)}}.appointment-form .error-message{color:#e74c3c;font-size:12px;margin-top:5px;display:none}.appointment-form .success-message{background:#d4edda;color:#155724;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #c3e6cb;display:none}.fade-in{animation:fadeIn .5s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.appointment-form .patient-option{padding:12px;margin:5px 0;border:2px solid #e1e8ed;border-radius:8px;cursor:pointer;transition:all .3s ease}.appointment-form .patient-option:hover{border-color:#4e54c8;background:#f8f9fa}.appointment-form .patient-option.selected{border-color:#4e54c8;background:#e8f2ff}.appointment-form .custom-select-wrapper{position:relative;width:100%}.appointment-form .custom-select{position:relative;padding:18px 20px;border:1px solid #00000080;border-radius:9px;font-size:14px;transition:all .3s ease;font-family:Nunito;font-weight:400;letter-spacing:0;background:#fff;z-index:2}.appointment-form .custom-select:has(input:disabled){background-color:#f8f9fa;color:#999;cursor:not-allowed;opacity:.6}.appointment-form .select-search-input{width:100%;padding:0;border:unset;border-radius:0}.appointment-form .select-options{max-height:200px;overflow-y:auto;display:none;position:absolute;top:101%;left:0;right:0;background:#fff;border:1px solid #e1e8ed;border-top:none;border-radius:0 0 4px 4px}.appointment-form .select-options.active{display:block}.appointment-form .select-option{padding:10px 15px;cursor:pointer;transition:background-color .2s}.appointment-form .select-option:hover{background-color:#1967d2;color:#fff}.appointment-form .select-option.selected{background-color:#e6f7ff;font-weight:700}.appointment-form .no-options{padding:10px 15px;color:#999}.appointment-form .select-search-box{width:100%}.appointment-form .select-search-wrapper{display:flex;align-items:center;justify-content:space-between}@media (max-width:768px){.appointment-form .header{padding:30px 20px}.appointment-form .input-group{width:100%}.appointment-form .header h1{font-size:28px}.appointment-form .form-container{padding:30px 20px}.appointment-form .form-group{grid-template-columns:1fr;gap:20px;flex-direction:column}.appointment-form .button-group{gap:10px}.appointment-form .section-title{font-size:20px}.appointment-form .appointment-form-container .form-wrapper{padding:20px 12px}.appointment-form button{padding:9px 30px}.appointment-form .appointment-details{margin-bottom:20px}}