:root{--primary-purple:#6f2edc;--primary-purple-strong:#7b3eff;--accent-yellow:#ffd93d;--bg-light:#fff;--bg-soft:#f8f5ff;--text-dark:#0d0d0d;--text-muted:#666;--text-light:#9a9a9a;--border-light:#e9e6f5}body{background:var(--bg-light);color:var(--text-dark);font-family:Inter,sans-serif}.card-custom{border:1px solid var(--border-light);background:#fff;border-radius:20px;box-shadow:0 8px 24px #0000000f}.right-summary{border:1px solid var(--border-light);background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 24px #0000000f}.btn-primary-custom{color:#fff;background:linear-gradient(90deg,#6f2edc,#7b3eff);border:none;border-radius:28px;padding:12px 28px;font-weight:600;transition:all .2s}.btn-primary-custom:hover{opacity:.9}.btn-ghost{color:var(--primary-purple);background:#f5f3ff;border:1px solid #e1ddfc;border-radius:28px;padding:10px 22px}.accent-pill{background:var(--accent-yellow);border-radius:18px;padding:6px 14px;font-size:13px;font-weight:600}.nav-steps{justify-content:center;margin-bottom:24px;display:flex}.nav-steps .step{color:var(--text-muted);text-align:center}.nav-steps .step.active{color:var(--primary-purple);font-weight:600}.step-circle{width:42px;height:42px;color:var(--primary-purple);box-shadow:none;background:#f2e9ff;border-radius:42px;place-items:center;margin:0 auto 8px;display:grid}.step-circle.active{background:var(--primary-purple);color:#fff;box-shadow:0 0 12px #6f2edc8c}.calendar-wrapper{border:1px solid var(--border-light);background:#fff;border-radius:20px;padding:24px}.calendar-day{cursor:pointer;width:48px;height:48px;color:var(--text-muted);border-radius:50%;place-items:center;display:grid}.calendar-day.selected{background:var(--accent-yellow);color:#000;font-weight:700;box-shadow:0 6px 12px #ffd93d66}.ticket-card{border:1px solid var(--border-light);background:#fff;border-radius:16px;padding:18px;box-shadow:0 4px 15px #0000000d}.qty-btn{width:36px;height:36px;color:var(--primary-purple);cursor:pointer;background:#f3efff;border:none;border-radius:50%;place-items:center;font-size:18px;display:grid}.qty-btn.plus{background:var(--primary-purple);color:#fff}input.form-control{border:1px solid var(--border-light);color:#333;background:#fff;border-radius:14px;padding:12px 14px}input.form-control:focus{border-color:var(--primary-purple);box-shadow:0 0 0 2px #6f2edc26}.payment-box{border:1px solid var(--border-light);background:linear-gradient(#f8f5ff,#fff);border-radius:20px;padding:40px}
