.booking-hero{text-align:center;background:radial-gradient(circle at 50% 0%, rgba(var(--primary-rgb), .1) 0%, transparent 70%);padding:120px 0 60px;position:relative}.booking-hero-title{margin:1.5rem 0;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1}.booking-hero-sub{color:#9ca3af;max-width:700px;margin:0 auto;font-size:1.2rem}.booking-main{padding-bottom:120px}.booking-layout{grid-template-columns:300px 1fr;align-items:start;gap:3rem;display:grid}@media (max-width:992px){.booking-layout{grid-template-columns:1fr}.booking-sidebar{display:none}}.booking-sidebar{background:#ffffff05;border:1px solid #ffffff0d;border-radius:24px;padding:2rem;position:sticky;top:100px}.booking-steps{flex-direction:column;gap:2rem;display:flex}.booking-step{opacity:.4;align-items:center;gap:1.5rem;transition:all .3s;display:flex}.booking-step.active{opacity:1}.booking-step.done{opacity:.8}.step-number{border:2px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;transition:all .3s;display:flex}.booking-step.active .step-number{border-color:var(--primary);background:var(--primary);color:#000;box-shadow:0 0 20px rgba(var(--primary-rgb), .3)}.booking-step.done .step-number{border-color:var(--primary);color:var(--primary)}.step-label{text-transform:uppercase;letter-spacing:1px;color:#6b7280;margin-bottom:2px;font-size:.8rem}.step-value{color:#fff;font-size:.95rem;font-weight:600}.booking-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:32px;padding:3rem}.step-heading{color:#fff;margin-bottom:1rem;font-size:2rem;font-weight:700}.step-sub{color:#9ca3af;margin-bottom:2.5rem}.service-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;display:grid}.service-option{text-align:left;cursor:pointer;background:#0003;border:1px solid #ffffff0d;border-radius:20px;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .3s;display:flex;position:relative}.service-option:hover{border-color:rgba(var(--primary-rgb), .3);background:#ffffff0d}.service-option.selected{border-color:var(--primary);background:rgba(var(--primary-rgb), .05)}.service-option-icon{width:40px;height:40px;color:var(--primary);background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;display:flex}.service-option.selected .service-option-icon{background:var(--primary);color:#000}.service-option-body strong{color:#fff;margin-bottom:4px;font-size:1.1rem;display:block}.service-option-body span{color:#9ca3af;font-size:.85rem;line-height:1.4}.service-option-check{color:var(--primary);opacity:0;transition:all .3s;position:absolute;top:1.5rem;right:1.5rem;transform:scale(.8)}.service-option.selected .service-option-check{opacity:1;transform:scale(1)}.booking-field label{color:#9ca3af;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.9rem;font-weight:600;display:flex}.booking-field input,.booking-field select,.booking-field textarea{color:#fff;background:#0000004d;border:1px solid #ffffff1a;border-radius:12px;outline:none;width:100%;padding:1rem;transition:all .3s}.booking-field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(var(--primary-rgb), .1)}.timeslot-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.timeslot-btn{color:#fff;cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;border-radius:12px;padding:.75rem;font-size:.85rem;transition:all .3s}.timeslot-btn:hover{background:#ffffff14}.timeslot-btn.selected{background:var(--primary);color:#000;border-color:var(--primary);font-weight:700}.booking-nav{border-t:1px solid #ffffff1a;justify-content:space-between;margin-top:3rem;padding-top:2rem;display:flex}.booking-btn-next{background:var(--primary);color:#000;border-radius:14px;align-items:center;gap:.75rem;margin-left:auto;padding:1rem 2.5rem;font-weight:700;display:flex}.booking-btn-back{color:#fff;background:0 0;border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:.75rem;padding:1rem 1.5rem;font-weight:600;display:flex}.confirm-summary{background:#0003;border-radius:24px;overflow:hidden}.confirm-row{border-bottom:1px solid #ffffff0d;justify-content:space-between;padding:1.25rem 2rem;display:flex}.confirm-row:last-child{border-bottom:none}.confirm-key{color:#6b7280;font-size:.9rem}.confirm-val{color:#fff;font-weight:600}.booking-success{text-align:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:40px;max-width:600px;margin:60px auto;padding:4rem}.booking-success-icon{color:#22c55e;background:#22c55e1a;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;margin:0 auto 2.5rem;display:flex}.booking-success h2{margin-bottom:1.5rem;font-size:2.5rem;font-weight:800}.booking-success p{color:#9ca3af;font-size:1.1rem;line-height:1.6}.booking-reset-btn{background:var(--primary);color:#000;border-radius:14px;margin-top:3rem;padding:1rem 2.5rem;font-weight:700}
