.wizard-main{background:radial-gradient(circle at 20% 0%, #a9d6e526, transparent 40%), linear-gradient(180deg, #f0f6fa 0%, var(--background) 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:1rem;display:flex}.wizard-container{width:100%;max-width:480px;margin:0 auto}.wizard-card{background:var(--snow);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);padding:1.5rem;position:relative;overflow:hidden}.wizard-center{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1.5rem;display:flex}.wizard-progress{justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.wizard-progress-bar{align-items:center;gap:.5rem;display:flex}.wizard-progress-dot{background:var(--neutral-200);border-radius:50%;width:10px;height:10px;transition:background .2s,transform .2s}.wizard-progress-dot--active{background:var(--primary);transform:scale(1.2)}.wizard-progress-dot--done{background:var(--ice);transform:scale(1)}.wizard-progress-label{color:var(--neutral-400);text-align:center;min-width:2.5rem;font-size:.75rem;font-weight:600}.wizard-step{flex-direction:column;gap:1rem;display:flex}.wizard-step-title{font-family:var(--font-heading), sans-serif;color:var(--deep);letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:800}.wizard-step-subtitle{color:var(--neutral-500);margin:0;font-size:.9rem;line-height:1.5}.wizard-step-intro{text-align:center;align-items:center}.wizard-avatar{background:linear-gradient(135deg, var(--primary), var(--ice));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.wizard-avatar-img{object-fit:cover;width:100%;height:100%}.wizard-avatar-initials{font-family:var(--font-heading), sans-serif;color:#fff;letter-spacing:.02em;font-size:1.5rem;font-weight:800}.wizard-instructor-name{font-family:var(--font-heading), sans-serif;color:var(--deep);margin:0;font-size:1.35rem;font-weight:800}.wizard-rating{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.wizard-rating-stars{color:var(--accent);letter-spacing:1px}.wizard-rating-value{color:var(--ink);font-weight:700}.wizard-rating-count{color:var(--neutral-400);font-size:.8rem}.wizard-chips{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.wizard-zone{color:var(--neutral-500);margin:0;font-size:.85rem}.wizard-bio{color:var(--neutral-600);margin:0;font-size:.9rem;line-height:1.6}.wizard-chip-group{flex-wrap:wrap;gap:.5rem;display:flex}.wizard-chip{border:1.5px solid var(--neutral-200);background:var(--snow);min-height:2.75rem;color:var(--neutral-700);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;justify-content:center;align-items:center;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;transition:all .16s;display:inline-flex}.wizard-chip:hover{border-color:var(--primary);color:var(--primary)}.wizard-chip--selected{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.wizard-chip--small{min-width:2.4rem;min-height:2.4rem;padding:.4rem .75rem}.wizard-calendar{-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.wizard-calendar::-webkit-scrollbar{height:4px}.wizard-calendar::-webkit-scrollbar-thumb{background:var(--neutral-200);border-radius:4px}.wizard-day{border:1.5px solid var(--neutral-200);background:var(--snow);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;min-width:54px;height:68px;transition:all .16s;display:flex}.wizard-day:hover{border-color:var(--primary)}.wizard-day--selected{background:var(--primary);border-color:var(--primary);color:#fff}.wizard-day--selected .wizard-day-weekday,.wizard-day--selected .wizard-day-number{color:#fff}.wizard-day--today{border-color:var(--accent)}.wizard-day-weekday{color:var(--neutral-400);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.wizard-day-number{color:var(--ink);font-size:1.1rem;font-weight:700}.wizard-slots-section{flex-direction:column;gap:.75rem;display:flex}.wizard-slots-label{color:var(--neutral-500);margin:0;font-size:.85rem;font-weight:600}.wizard-slots-loading{justify-content:center;padding:1rem;display:flex}.wizard-slots-error{color:#c44;margin:0;font-size:.85rem}.wizard-slots-empty{color:var(--neutral-400);text-align:center;margin:0;padding:1rem 0;font-size:.9rem}.wizard-form{flex-direction:column;gap:1rem;display:flex}.wizard-field-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.wizard-field{flex-direction:column;gap:.35rem;display:flex}.wizard-label{color:var(--neutral-600);letter-spacing:.01em;font-size:.8rem;font-weight:600}.wizard-required{color:var(--accent)}.wizard-input{border:1.5px solid var(--neutral-200);background:var(--snow);min-height:2.75rem;color:var(--ink);border-radius:10px;outline:none;width:100%;padding:.6rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .16s}.wizard-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0b3c5d14}.wizard-input::placeholder{color:var(--neutral-300)}.wizard-price-box{background:var(--neutral-50);text-align:center;border-radius:12px;padding:1rem}.wizard-price-text{color:var(--ink);margin:0;font-size:.95rem}.wizard-price-text--muted{color:var(--neutral-400);font-style:italic}.wizard-price-amount{font-family:var(--font-heading), sans-serif;color:var(--deep);font-size:1.5rem;font-weight:800}.wizard-price-detail{color:var(--neutral-500);font-size:.85rem}.wizard-summary{background:var(--neutral-50);border-radius:12px;flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.wizard-summary-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.wizard-summary-label{color:var(--neutral-400);flex-shrink:0;font-size:.8rem;font-weight:600}.wizard-summary-value{color:var(--ink);text-align:right;font-size:.9rem;font-weight:600}.wizard-summary-divider{background:var(--neutral-200);height:1px;margin:.35rem 0}.wizard-summary-row--total{padding-top:.25rem}.wizard-summary-price{font-family:var(--font-heading), sans-serif;color:var(--deep);font-size:1.25rem;font-weight:800}.wizard-actions{gap:.75rem;margin-top:.5rem;display:flex}.wizard-btn-back{flex:none}.wizard-btn-next{flex:1}.wizard-btn-full{width:100%}.wizard-btn-confirm{font-size:1rem}.wizard-btn-next:disabled,.wizard-btn-confirm:disabled{opacity:.5;cursor:not-allowed;transform:none}.wizard-spinner{border:3px solid var(--neutral-200);border-top-color:var(--primary);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite wizard-spin}.wizard-spinner--small{border-width:2px;width:24px;height:24px}@keyframes wizard-spin{to{transform:rotate(360deg)}}.wizard-loading-text{color:var(--neutral-500);margin:0;font-size:.9rem}.wizard-error-icon{color:#c44;background:#fef2f2;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;font-weight:800;display:flex}.wizard-error-text{color:var(--neutral-600);max-width:300px;margin:0;font-size:.95rem;line-height:1.5}.wizard-inline-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.65rem .85rem;font-size:.85rem;display:flex}.wizard-dismiss{color:#b91c1c;cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.1rem;line-height:1}.wizard-success{gap:1.25rem}.wizard-success-icon{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;font-weight:800;display:flex}.wizard-success-title{font-family:var(--font-heading), sans-serif;color:var(--deep);margin:0;font-size:1.35rem;font-weight:800}.wizard-success-subtitle{color:var(--neutral-500);margin:0;font-size:.95rem;line-height:1.5}@media (max-width:360px){.wizard-card{border-radius:var(--radius-lg);padding:1.25rem 1rem}.wizard-field-row{grid-template-columns:1fr}.wizard-step-title{font-size:1.1rem}.wizard-chip{padding:.5rem .85rem;font-size:.85rem}.wizard-day{min-width:48px;height:60px}}@media (min-width:481px){.wizard-main{align-items:center;padding:2rem}.wizard-card{padding:2rem}.wizard-center{padding:3rem 2rem}}
