.enhanced-form-wrapper{display:flex;flex-direction:column;gap:1rem;max-width:420px;margin:0 auto;width:100%}@media(max-width:480px){.enhanced-form-wrapper{padding:0 .25rem}}.form-content-panel{background:#fff;border-radius:.5rem;padding:1rem;box-shadow:0 2px 8px #0f172a0d}.appointment-progress-container{position:relative;margin-bottom:1.25rem}.progress-track{position:relative;overflow:hidden;height:.35rem;background-color:#e5e7eb;border-radius:999px;margin-bottom:.75rem}.progress-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#10b981);background-size:200% 100%;animation:shimmer 2s infinite linear;transition:width .6s cubic-bezier(.4,0,.2,1);height:100%;border-radius:999px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-steps{display:flex;justify-content:space-between;margin-top:.5rem}.step-indicator{display:flex;flex-direction:column;align-items:center;flex:1;transition:all .3s ease}.step-circle{width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px #0000001a}.step-indicator.active .step-circle{transform:scale(1.1);box-shadow:0 2px 6px #3b82f64d;background-color:#3b82f6;color:#fff}.step-indicator.completed .step-circle{background-color:#10b981;color:#fff}.step-indicator:not(.active):not(.completed) .step-circle{background-color:#f3f4f6;color:#9ca3af}.step-label{font-size:.65rem;font-weight:500;text-align:center;margin-top:.25rem;color:#6b7280}.step-indicator.active .step-label{color:#3b82f6;font-weight:600}.step-indicator.completed .step-label{color:#10b981;font-weight:600}.step-header{margin-bottom:1rem;text-align:center}.step-eyebrow{font-size:.65rem;font-weight:700;color:#6366f1;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.step-header h3{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:.25rem}.step-header p{font-size:.8rem;color:#6b7280}.form-group{position:relative;margin-bottom:1rem}.form-group label{display:flex;align-items:center;font-size:.8rem;font-weight:500;color:#374151;margin-bottom:.35rem}.form-group label i{margin-right:.4rem;font-size:.8rem;color:#3b82f6}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.85rem;transition:all .2s ease;background:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.form-group input.border-green-500{border-color:#10b981;background:#f0fdf4}.form-group input.border-red-500{border-color:#ef4444;background:#fef2f2}.error-message{color:#ef4444;font-size:.7rem;margin-top:.2rem}.help-text{font-size:.7rem;color:#6b7280;margin-top:.2rem}.services-grid{display:grid;gap:.75rem}.service-card{position:relative;border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;cursor:pointer;transition:all .2s ease;background:#fff}.service-card:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a;transform:translateY(-1px)}.service-card.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 12px #3b82f626}.service-card h4{font-size:.9rem;font-weight:600;color:#1f2937;margin-bottom:.15rem}.service-card p{color:#6b7280;font-size:.75rem;line-height:1.3;margin-bottom:.35rem}.service-card .flex.items-center.mt-2{margin-top:.35rem}.service-card .text-xs{font-size:.7rem}.service-radio{position:absolute;top:.75rem;right:.75rem}.service-radio input[type=radio]{width:1rem;height:1rem;accent-color:#3b82f6}.time-slots-container{min-height:150px;display:flex;align-items:center;justify-content:center}.time-slots.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;width:100%}.time-slot{padding:.5rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;font-size:.8rem;font-weight:500;text-align:center;cursor:pointer;transition:all .2s ease}.time-slot:hover{border-color:#3b82f6;background:#eff6ff}.time-slot.selected{border-color:#3b82f6;background:#3b82f6;color:#fff;box-shadow:0 2px 8px #3b82f64d}.time-slot:disabled{opacity:.5;cursor:not-allowed;background:#f9fafb;color:#9ca3af}.loading-slots,.no-slots,.error-slots{padding:1.5rem;font-size:.8rem}.loading-slots i{margin-right:.5rem;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary,.btn-submit{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.85rem;border:none}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 2px 8px #3b82f640}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f659}.btn-submit{background:linear-gradient(135deg,#10b981,#3b82f6);color:#fff;box-shadow:0 2px 8px #10b98140}.btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98159}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-primary:disabled,.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}#appointmentSummary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.75rem;padding:1rem}.summary-header{display:flex;align-items:center;margin-bottom:1rem}.icon-circle{width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:.75rem;background:linear-gradient(135deg,#10b981,#3b82f6);color:#fff;font-size:1rem}.summary-details .detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e0e7ff;font-size:.85rem}.summary-details .detail-row:last-child{border-bottom:none}.summary-details .detail-label{color:#6b7280}.summary-details .detail-value{font-weight:600;color:#1f2937;text-align:right}.form-step{display:none;animation:fadeIn .3s ease-out}.form-step.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.success-message{text-align:center;padding:2rem 1rem;animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon{width:4rem;height:4rem;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 4px 15px #10b9814d;animation:successBounce .8s ease-out;font-size:1.5rem}@keyframes successBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.appointment-details{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border:1px solid #86efac;border-radius:.75rem;padding:1rem;margin:1rem auto;max-width:100%;text-align:left;font-size:.85rem}*:focus{outline:2px solid #3b82f6;outline-offset:2px}
