.booking-flow{background-color:var(--color-bg-alt)}.flow-card{background:var(--color-bg-main);border-radius:var(--radius-lg);box-shadow:var(--shadow-bento);border:1px solid var(--color-border);max-width:800px;margin:0 auto;overflow:hidden}.flow-header{text-align:center;border-bottom:1px solid var(--color-border);background-color:#ffffff80;padding:40px 40px 20px}.step-indicator{justify-content:center;gap:16px;margin-bottom:24px;display:flex}.step-dot{background:var(--color-bg-alt);width:36px;height:36px;color:var(--color-text-muted);border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.step-dot.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 0 0 4px #0f172a1a}.flow-title{color:var(--color-primary);letter-spacing:-.02em;font-size:2rem;font-weight:800}.flow-intro{max-width:620px;color:var(--color-text-muted);margin:.85rem auto 0;font-size:.98rem;line-height:1.6}.flow-prefill-note{color:var(--color-text-muted);margin:.5rem auto 0;font-size:.9rem}.flow-prefill-note strong{color:var(--color-primary)}.flow-change-link{color:var(--color-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem;font-weight:600;text-decoration:underline}.flow-content{flex-direction:column;min-height:400px;padding:40px;display:flex}@media (max-width:640px){.flow-header{padding:24px 20px 16px}.flow-title{font-size:1.5rem}.flow-content{min-height:unset;padding:24px 20px}.cat-card{padding:24px 16px}.step-dot{width:32px;height:32px;font-size:14px}.btn-outline,.btn-primary{min-height:48px}}.step-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (max-width:640px){.step-grid{grid-template-columns:1fr}}.cat-card{border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-bg-alt);cursor:pointer;flex-direction:column;align-items:center;gap:16px;padding:32px 24px;transition:all .2s;display:flex}.cat-card:hover{border-color:var(--color-secondary);box-shadow:var(--shadow-md);background:#fff}.cat-card.selected{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-lg)}.cat-card.selected .cat-title{color:#fff}.cat-icon{font-size:40px}.cat-title{color:var(--color-primary);font-size:1.1rem;font-weight:700}.step-form{width:100%;max-width:600px;margin:0 auto}.form-group{text-align:left;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.form-group label{color:var(--color-primary);font-weight:600}.bento-input{border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-alt);width:100%;color:var(--color-text-main);padding:16px;font-size:1rem;transition:all .2s}.bento-input:focus{border-color:var(--color-primary);background-color:#fff;outline:none;box-shadow:0 0 0 3px #0f172a1a}textarea.bento-input{resize:vertical;min-height:120px}.zip-input-wrapper{align-items:center;display:flex;position:relative}.zip-input-wrapper input{border:2px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:16px;font-size:1rem;transition:all .2s}.zip-loader{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;position:absolute;right:16px}@keyframes spin{to{transform:rotate(360deg)}}.zip-msg{align-items:center;gap:8px;margin-top:8px;font-size:14px;font-weight:600;display:inline-flex}.zip-msg.success{color:#10b981}.zip-msg.warn{color:#f59e0b}.booking-step-note{color:var(--color-text-muted);margin-top:.35rem;font-size:.92rem;line-height:1.6}.btn-block{width:100%;padding:16px;font-size:16px;font-weight:700}.btn-outline{border:2px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-md);background:#fff;padding:12px 28px;font-weight:600;transition:all .2s}.btn-outline:hover{background:var(--color-bg-alt);border-color:var(--color-text-muted);color:var(--color-primary)}.flex{display:flex}.gap-4{gap:1rem}.flex-1{flex:1}.mt-8{margin-top:2rem}.success-icon{color:#059669;background:#10b9811f;border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;margin:0 auto 1.5rem;display:inline-flex}.booking-id{color:var(--color-primary);background:#0f172a0f;border-radius:999px;margin-bottom:1.5rem;padding:8px 14px;font-weight:700;display:inline-block}.tracking-token{letter-spacing:.04em;word-break:break-all;font-family:monospace;display:block}.booking-follow-up-link{margin-bottom:1rem}
