.tembo-funnel{--fn-ease:cubic-bezier(0.22,1,0.36,1);font-family:var(--font-sora),"Sora",system-ui,sans-serif;color:var(--text-primary);position:fixed;inset:0;z-index:120;display:grid;place-items:end center;background:rgba(5,8,5,.58);backdrop-filter:blur(5px);animation:fn-backdrop .25s ease}@keyframes fn-backdrop{0%{opacity:0}to{opacity:1}}.tembo-funnel *,.tembo-funnel :after,.tembo-funnel :before{box-sizing:border-box}.tembo-funnel svg{display:block}.tembo-funnel .drawer{position:relative;width:100%;max-width:620px;max-height:92vh;max-height:92dvh;display:flex;flex-direction:column;background:var(--bg-surface);border-radius:22px 22px 0 0;box-shadow:0 -24px 70px -20px rgba(0,0,0,.55);overflow:hidden;animation:fn-up .34s var(--fn-ease)}.tembo-funnel .drawer:before{content:"";position:absolute;inset-block-start:9px;inset-inline:0;margin-inline:auto;width:38px;height:4px;border-radius:99px;background:var(--border-strong);z-index:3}@keyframes fn-up{0%{transform:translateY(16px);opacity:.5}to{transform:none;opacity:1}}@keyframes fn-slide{0%{transform:scale(.985);opacity:.4}to{transform:none;opacity:1}}@media (min-width:768px){.tembo-funnel{place-items:stretch end}.tembo-funnel .drawer{width:min(560px,100%);max-width:100%;height:100%;max-height:100vh;max-height:100dvh;border-radius:0;border-inline-start:1px solid var(--border);box-shadow:-30px 0 80px -28px rgba(0,0,0,.55);animation:fn-slide .3s var(--fn-ease)}.tembo-funnel .drawer:before{display:none}}.tembo-funnel .fn-head{padding:22px 24px 16px;border-bottom:1px solid var(--border);flex:none}.tembo-funnel .fn-head .top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tembo-funnel .fn-head h2{font-size:18px;font-weight:800;letter-spacing:-.3px}.tembo-funnel .fn-head .ev{font-size:12.5px;color:var(--text-muted);margin-top:3px}.tembo-funnel .iconbtn{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;flex:none;transition:color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--fn-ease)}.tembo-funnel .iconbtn:hover{color:var(--text-primary);border-color:var(--border-strong)}.tembo-funnel .iconbtn:active{transform:scale(.92)}.tembo-funnel .iconbtn:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-color:var(--accent)}.tembo-funnel .iconbtn svg{width:18px;height:18px}.tembo-funnel .steps{display:flex;align-items:center;gap:8px 10px;margin-top:16px;flex-wrap:wrap}.tembo-funnel .steps .st{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--text-muted);transition:color .2s var(--ease)}.tembo-funnel .steps .st .num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--bg-elevated);border:1px solid var(--border);font-size:11px;font-variant-numeric:tabular-nums;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.tembo-funnel .steps .st .num svg{width:13px;height:13px}.tembo-funnel .steps .st.active{color:var(--text-primary)}.tembo-funnel .steps .st.active .num{background:var(--accent);color:var(--accent-fg);border-color:transparent}.tembo-funnel .steps .st.done .num{background:var(--accent-glow);color:var(--accent-ink);border-color:transparent}.tembo-funnel .fn-rail{position:relative;height:3px;border-radius:99px;background:var(--border);margin-top:14px;overflow:hidden}.tembo-funnel .fn-rail-fill{display:block;height:100%;inline-size:0;border-radius:99px;background:var(--accent);transition:inline-size .45s var(--fn-ease)}.tembo-funnel .fn-body{padding:22px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.tembo-funnel .fn-step{animation:fn-step-in .32s var(--fn-ease)}@keyframes fn-step-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.tembo-funnel .fn-body h3{font-size:16px;font-weight:800;letter-spacing:-.2px;margin-bottom:4px}.tembo-funnel .fn-body .hint{font-size:12.5px;color:var(--text-muted);margin-bottom:16px;line-height:1.5}.tembo-funnel .fn-foot{padding:16px 24px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--border);display:flex;align-items:center;gap:14px;flex:none;background:var(--bg-surface)}.tembo-funnel .fn-foot .subtotal{flex:1;min-width:0}.tembo-funnel .fn-foot .subtotal .k{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.tembo-funnel .fn-foot .subtotal .v{font-size:19px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.tembo-funnel .btn{font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--radius-pill);font-weight:700;font-size:14px;padding:12px 22px;border:1px solid transparent;white-space:nowrap;transition:background .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .12s var(--fn-ease)}.tembo-funnel .btn svg{width:16px;height:16px}.tembo-funnel .btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:0 6px 18px -10px var(--accent)}.tembo-funnel .btn-primary:hover{background:var(--accent-deep);box-shadow:0 9px 22px -10px var(--accent)}.tembo-funnel .btn-ghost{background:var(--bg-elevated);color:var(--text-secondary)}.tembo-funnel .btn-ghost:hover{color:var(--text-primary);background:var(--border-strong)}.tembo-funnel .btn:active:not(:disabled){transform:translateY(1px) scale(.985)}.tembo-funnel .btn:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.tembo-funnel .btn-primary:focus-visible{box-shadow:0 6px 18px -10px var(--accent)}.tembo-funnel .btn:disabled{opacity:.5;cursor:not-allowed}.tembo-funnel .fn-spin{width:15px;height:15px;border-radius:50%;border:2px solid var(--accent-fg);border-top:2px solid transparent;display:inline-block;animation:fn-spin .7s linear infinite}@keyframes fn-spin{to{transform:rotate(1turn)}}.tembo-funnel .tk{position:relative;display:block;cursor:pointer;background:var(--bg-base);border:1px solid var(--border);border-radius:16px;padding:18px;margin-bottom:12px;transition:border-color .18s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease),transform .18s var(--fn-ease)}.tembo-funnel .tk:hover{border-color:var(--border-strong);transform:translateY(-1px)}.tembo-funnel .tk:has(.tk-check-input:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}.tembo-funnel .tk-check-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.tembo-funnel .tk-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;color:transparent;flex:none;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}.tembo-funnel .tk-check svg{width:14px;height:14px}.tembo-funnel .tk.selected .tk-check{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.tembo-funnel .tk.selected{border-color:var(--accent);background:var(--accent-tint);box-shadow:0 0 0 1px var(--accent),0 12px 26px -18px var(--accent)}.tembo-funnel .tk.selected:hover{transform:none}.tembo-funnel .tk.selected .ds{color:var(--text-secondary)}.tembo-funnel .tk.soldout{opacity:.6;cursor:default}.tembo-funnel .tk .h{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tembo-funnel .tk .nm{font-weight:800;font-size:15px;letter-spacing:-.2px}.tembo-funnel .tk .ds{font-size:12.5px;color:var(--text-muted);margin-top:4px;line-height:1.45}.tembo-funnel .tk .price{font-weight:800;font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.tembo-funnel .tk .price.free{color:var(--accent-ink)}.tembo-funnel .tk .tags{display:flex;gap:6px;flex-wrap:wrap;margin:13px 0 0}.tembo-funnel .tk .foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.tembo-funnel .avail{font-size:12px;font-weight:700}.tembo-funnel .avail.left{color:var(--text-secondary)}.tembo-funnel .avail.left.low{color:var(--warn)}.tembo-funnel .avail.out{color:var(--danger)}.tembo-funnel .tk .price.on-request{font-size:13px;font-weight:700;color:var(--text-muted);letter-spacing:0}.tembo-funnel .chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:var(--radius-pill)}.tembo-funnel .chip.soft{background:var(--accent-tint);color:var(--accent-ink);border:1px solid var(--accent-border)}.tembo-funnel .chip.warn{background:rgba(242,181,68,.14);color:var(--warn);border:1px solid rgba(242,181,68,.32)}.tembo-funnel .stepper{display:inline-flex;align-items:center;gap:2px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:3px}.tembo-funnel .stepper button{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;display:grid;place-items:center;transition:background .16s var(--ease),color .16s var(--ease),transform .12s var(--fn-ease)}.tembo-funnel .stepper button:hover:not(:disabled){background:var(--accent-tint);color:var(--accent-ink)}.tembo-funnel .stepper button:active:not(:disabled){transform:scale(.88)}.tembo-funnel .stepper button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.tembo-funnel .stepper button:disabled{opacity:.35;cursor:not-allowed}.tembo-funnel .stepper button svg{width:15px;height:15px}.tembo-funnel .stepper .q{min-width:28px;text-align:center;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}.tembo-funnel .ao{border:1px solid var(--border);border-radius:12px;padding:13px 15px;margin-bottom:10px;background:var(--bg-base)}.tembo-funnel .ao .at{font-size:13.5px;font-weight:600}.tembo-funnel .ao .as{font-size:12px;color:var(--text-muted);margin-top:2px}.tembo-funnel .ao .opts{margin-top:10px;display:flex;flex-direction:column;gap:8px}.tembo-funnel .opt{display:flex;align-items:center;gap:10px;font-size:13.5px;cursor:pointer}.tembo-funnel .opt input[type=checkbox],.tembo-funnel .opt input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;flex:none;border:1.5px solid var(--border-strong);background:var(--bg-surface);cursor:pointer;display:grid;place-content:center;transition:border-color .15s var(--ease),background .15s var(--ease),box-shadow .15s var(--ease)}.tembo-funnel .opt input[type=checkbox]{border-radius:6px}.tembo-funnel .opt input[type=radio]{border-radius:50%}.tembo-funnel .opt:hover input:not(:checked){border-color:var(--accent)}.tembo-funnel .opt input:checked{border-color:var(--accent);background:var(--accent)}.tembo-funnel .opt input[type=checkbox]:checked:after{content:"";width:5px;height:9px;margin-top:-2px;border:solid var(--accent-fg);border-width:0 2px 2px 0;transform:rotate(45deg)}.tembo-funnel .opt input[type=radio]:checked:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-fg)}.tembo-funnel .opt input:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.tembo-funnel .ao .row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tembo-funnel .seat{border:1px solid var(--border);border-radius:16px;padding:18px 20px;margin-bottom:16px;background:var(--bg-base)}.tembo-funnel .seat>.seat-h{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.tembo-funnel .seat-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-ink);flex:none}.tembo-funnel .seat-avatar svg{width:18px;height:18px}.tembo-funnel .seat-h .seat-type{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-ink);line-height:1.2}.tembo-funnel .seat>.seat-h .badge{margin-inline-start:auto;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:none;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);padding:4px 10px;border-radius:99px;white-space:nowrap}.tembo-funnel .field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.tembo-funnel .field label{font-size:13px;font-weight:600;color:var(--text-secondary)}.tembo-funnel .field label .req{color:var(--accent-ink)}.tembo-funnel .input,.tembo-funnel .select,.tembo-funnel textarea.input{font-family:inherit;width:100%;background:var(--bg-surface);border:1px solid var(--border-strong);color:var(--text-primary);border-radius:var(--radius-md);padding:12px 14px;font-size:16px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.tembo-funnel textarea.input{min-height:84px;resize:vertical}.tembo-funnel .input::-moz-placeholder{color:var(--text-muted)}.tembo-funnel .input::placeholder{color:var(--text-muted)}.tembo-funnel .input:focus,.tembo-funnel .select:focus,.tembo-funnel textarea.input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-glow)}.tembo-funnel .input.error,.tembo-funnel .select.error{border-color:var(--danger);box-shadow:0 0 0 3px hsla(5,85%,65%,.15)}.tembo-funnel .field .err{font-size:12px;color:var(--danger);font-weight:600}.tembo-funnel .choices{display:flex;flex-direction:column;gap:8px}.tembo-funnel .segmented{display:inline-flex;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:3px}.tembo-funnel .segmented button{border:0;background:transparent;color:var(--text-muted);font-family:inherit;font-size:13px;font-weight:700;padding:8px 18px;border-radius:var(--radius-pill);cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.tembo-funnel .segmented button.on{background:var(--accent);color:var(--accent-fg)}.tembo-funnel .segmented button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}.tembo-funnel .recap{border:1px solid var(--border);border-radius:14px;padding:16px 18px;background:var(--bg-base);margin-bottom:16px}.tembo-funnel .recap .li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13.5px;padding:6px 0}.tembo-funnel .recap .li .lbl{color:var(--text-secondary)}.tembo-funnel .recap .li span:last-child{font-variant-numeric:tabular-nums}.tembo-funnel .recap .li.total{border-top:1px solid var(--border);margin-top:6px;padding-top:12px;font-weight:800;font-size:15px}.tembo-funnel .alert{display:flex;align-items:flex-start;gap:10px;background:hsla(5,85%,65%,.1);border:1px solid hsla(5,85%,65%,.3);color:var(--danger);border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600;margin-bottom:16px;animation:fn-step-in .26s var(--fn-ease)}.tembo-funnel .alert svg{width:17px;height:17px;flex:none;margin-top:1px}.tembo-funnel .fn-done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:44px 28px;animation:fn-step-in .34s var(--fn-ease)}.tembo-funnel .fn-done-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--accent-tint);color:var(--accent-ink);margin-bottom:6px}.tembo-funnel .fn-done-mark svg{width:34px;height:34px}.tembo-funnel .fn-done h2{font-size:19px;font-weight:800;letter-spacing:-.3px}.tembo-funnel .fn-done-body{font-size:14px;color:var(--text-secondary);line-height:1.55;max-width:40ch}.tembo-funnel .fn-done .hint{margin:0}.tembo-funnel .fn-done .btn{margin-top:16px;min-width:160px}@media (pointer:coarse){.tembo-funnel .stepper button{width:40px;height:40px}.tembo-funnel .iconbtn{width:44px;height:44px}.tembo-funnel .btn{padding:14px 22px}.tembo-funnel .segmented button{padding:11px 20px}}@media (prefers-reduced-motion:reduce){.tembo-funnel,.tembo-funnel .alert,.tembo-funnel .drawer,.tembo-funnel .fn-step{animation:none}.tembo-funnel .fn-rail-fill{transition:none}.tembo-funnel .btn:active:not(:disabled),.tembo-funnel .iconbtn:active,.tembo-funnel .stepper button:active:not(:disabled),.tembo-funnel .tk:hover{transform:none}}.tembo-funnel[dir=rtl] .fn-foot .btn-primary svg{transform:scaleX(-1)}.tembo-funnel .photo-field{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--border-strong);border-radius:var(--radius-card);background:var(--bg-surface);transition:border-color .2s var(--ease),background .2s var(--ease)}.tembo-funnel .photo-field:hover{border-color:var(--accent);background:var(--accent-tint)}.tembo-funnel .photo-field .pf-img{flex:none}.tembo-funnel .photo-field .pf-img [data-part=empty] .cap,.tembo-funnel .photo-field .pf-img [data-part=empty] .sub{display:none}.tembo-funnel .photo-field .pf-text{display:flex;flex-direction:column;gap:3px;min-width:0}.tembo-funnel .photo-field .pf-text b{font-size:14px;font-weight:700;color:var(--text-primary)}.tembo-funnel .photo-field .pf-text .hint{font-size:12px;color:var(--text-muted)}.tembo-funnel .file-field{display:flex;flex-direction:column;gap:6px}.tembo-funnel .file-field .hint{margin-bottom:0}.tembo-funnel .file-field .hint.ok{color:var(--lime-fg,#2c6a0c);font-weight:600}.tembo-funnel .file-field .hint.err{color:var(--danger,#f2685b);font-weight:600}.tembo-funnel .file-field .hint a{color:inherit;text-decoration:underline}.tembo-funnel .file-field .file-clear{border:0;background:none;padding:0;font:inherit;color:var(--text-muted);text-decoration:underline;cursor:pointer}.tembo-funnel .file-field .file-clear:hover{color:var(--text-primary)}