:root{--accent:var(--accent);--accent-hover:var(--accentHover);--accent-light:var(--accentLight)}body{color:#0f172a;background:#f1f5f9;margin:0;padding:0;font-family:Plus Jakarta Sans,Inter,sans-serif}.hero-section{background-image:var(--heroImg);background-position:50%;background-size:cover;height:250px;position:relative}.hero-overlay{background:linear-gradient(#0000001a,#00000080);position:absolute;inset:0}.container{z-index:10;max-width:650px;margin:-80px auto 40px;padding:0 20px;position:relative}.card{background:#fff;border-radius:24px;padding:0;overflow:hidden;box-shadow:0 20px 40px #00000014}.business-header{text-align:center;border-bottom:1px solid #f1f5f9;padding:40px 30px 20px;position:relative}.business-logo{object-fit:cover;background:#fff;border:4px solid #fff;border-radius:50%;width:100px;height:100px;position:absolute;top:-50px;left:50%;transform:translate(-50%);box-shadow:0 10px 20px #0000001a}h1{color:#0f172a;margin:20px 0 5px;font-size:1.8rem;font-weight:700}.business-meta{color:#64748b;justify-content:center;align-items:center;gap:15px;margin-bottom:5px;font-size:.95rem;display:flex}.business-meta i{color:var(--accent)}.booking-body{padding:30px}.step-indicator{justify-content:space-between;margin-bottom:30px;display:flex;position:relative}.step-indicator:before{content:"";z-index:1;background:#e2e8f0;height:2px;position:absolute;top:15px;left:20px;right:20px}.step-dot{color:#64748b;z-index:2;background:#e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;transition:all .3s;display:flex;position:relative}.step-dot.active{background:var(--accent);color:#fff;box-shadow:0 0 0 4px var(--accent-light)}.step-dot.completed{background:var(--accent);color:#fff}.step-content{animation:.4s ease-out fadeIn;display:none}.step-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h3{color:#334155;margin-top:0;margin-bottom:20px;font-size:1.2rem}.services-grid,.slots-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.services-grid,.slots-grid{grid-template-columns:1fr}}.option-card{cursor:pointer;text-align:left;background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:16px;transition:all .2s}.option-card:hover{background:#f8fafc;border-color:#cbd5e1}.option-card.active{border-color:var(--accent);background:var(--accent-light)}.option-title{color:#1e293b;margin-bottom:5px;font-size:1.05rem;font-weight:600}.option-desc{color:#64748b;font-size:.85rem}.slot-card{text-align:center;cursor:pointer;color:#334155;border:2px solid #e2e8f0;border-radius:12px;padding:12px;font-weight:600;transition:all .2s}.slot-card:hover{background:#f8fafc;border-color:#cbd5e1}.slot-card.active{border-color:var(--accent);background:var(--accent);color:#fff}.input-group{margin-bottom:20px}.input-group label{color:#334155;margin-bottom:8px;font-size:.95rem;font-weight:600;display:block}.input-group input,.input-group select{box-sizing:border-box;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:14px;font-family:inherit;font-size:1rem;transition:all .2s}.input-group input:focus{border-color:var(--accent);outline:none}.actions{gap:12px;margin-top:30px;display:flex}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary{color:#475569;background:#f1f5f9;flex:1}.btn-secondary:hover{background:#e2e8f0}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-light);flex:2}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.loading-state{text-align:center;color:#64748b;padding:40px 20px}.loading-spinner{border:3px solid #e2e8f0;border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 15px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.success-state{text-align:center;padding:20px 0}.success-icon{color:#fff;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:40px;display:flex;box-shadow:0 10px 25px #10b9814d}.digicard-branding{text-align:center;color:#94a3b8;flex-direction:column;align-items:center;gap:10px;margin-top:30px;font-size:.85rem;display:flex}.digicard-branding a{color:#64748b;font-weight:600;text-decoration:none}.digicard-branding a:hover{color:var(--accent)}
