/* TravelLeads form — minimal, theme-able base. Clients override --tl-primary. */
.tl-form { --tl-primary:#c9a063; --tl-bg:#0d0d0b; --tl-text:#e6e2d8; --tl-muted:#8a8780; --tl-border:rgba(255,255,255,.12); font-family:system-ui,-apple-system,sans-serif; color:var(--tl-text); max-width:560px; }
.tl-loading { color:var(--tl-muted); padding:24px; }
.tl-step { margin-bottom:28px; }
.tl-step h3 { font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--tl-primary); margin:0 0 16px; }
.tl-field { margin-bottom:16px; }
.tl-field label { display:block; font-size:13px; margin-bottom:6px; }
.tl-field input { width:100%; padding:12px 14px; background:var(--tl-bg); border:1px solid var(--tl-border); border-radius:4px; color:var(--tl-text); font-size:14px; }
.tl-field input:focus { outline:none; border-color:var(--tl-primary); }
.tl-opts { display:flex; flex-wrap:wrap; gap:8px; }
.tl-opt { padding:8px 16px; border:1px solid var(--tl-border); border-radius:20px; font-size:12px; color:var(--tl-muted); cursor:pointer; user-select:none; }
.tl-opt:hover { border-color:var(--tl-primary); color:var(--tl-primary); }
.tl-opt.sel { background:rgba(201,160,99,.12); border-color:var(--tl-primary); color:var(--tl-primary); }
.tl-opt.tl-soldout { opacity:.45; cursor:not-allowed; text-decoration:line-through; }
.tl-submit { width:100%; padding:16px; background:var(--tl-primary); color:#0d0d0b; border:none; border-radius:3px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; margin-top:12px; }
.tl-submit:disabled { opacity:.6; cursor:not-allowed; }
.tl-msg { color:#c06060; font-size:12px; margin-top:10px; min-height:16px; }
.tl-success { text-align:center; padding:40px 0; }
.tl-success h3 { font-size:24px; color:var(--tl-primary); margin:0 0 10px; }
.tl-success p { color:var(--tl-muted); }
