@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

html.blxbk-lock, body.blxbk-lock{ overflow:hidden !important; height:100%; margin-top:0 !important; }
html.blxbk-lock #wpadminbar{ display:none !important; }

.blxbk-app{
  --bg:#08080a; --bg2:#0d0d10; --surface:#151519; --surface2:#1b1b21;
  --line:rgba(255,255,255,.07); --line2:rgba(255,255,255,.13);
  --text:#ededf0; --text2:#98989f; --text3:#5f5f68;
  --gold:#bd982e; --gold2:#d8ba63; --goldsoft:rgba(189,152,46,.13); --goldline:rgba(189,152,46,.44);
  --r:12px; --ease:cubic-bezier(.2,.8,.2,1); --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  position:fixed; inset:0; z-index:2147483000; display:flex; flex-direction:column;
  background:radial-gradient(120% 90% at 50% -10%, #131117 0%, var(--bg) 46%);
  color:var(--text); font-family:var(--font); letter-spacing:-.01em; -webkit-font-smoothing:antialiased;
  font-feature-settings:"cv02","cv03","cv04","ss01";
}
.blxbk-app *{ box-sizing:border-box; }
.blxbk-app button{ font-family:inherit; cursor:pointer; color:inherit; }
.blxbk-app input{ font-family:inherit; }
.blxbk-app ::selection{ background:var(--goldsoft); color:var(--gold2); }
.tnum{ font-variant-numeric:tabular-nums; }

.blxbk-top{ height:60px; flex:0 0 auto; display:flex; align-items:center; gap:20px; padding:0 22px; border-bottom:1px solid var(--line); }
.blxbk-brand{ display:inline-flex; align-items:center; gap:9px; font-weight:600; font-size:14px; color:var(--text); text-decoration:none; transition:opacity .16s var(--ease); }
.blxbk-brand:hover{ opacity:.78; }
.blxbk-brand span{ color:var(--gold2); }
.blxbk-steps{ display:flex; gap:6px; margin:0 auto; }
.blxbk-steps i{ width:26px; height:3px; border-radius:2px; background:rgba(255,255,255,.1); transition:.45s var(--ease); }
.blxbk-steps i.done{ background:var(--gold); }
.blxbk-steps i.on{ background:var(--gold2); width:34px; }
.blxbk-tophint{ font-size:12px; color:var(--text3); display:flex; align-items:center; gap:8px; }
.kbd{ border:1px solid var(--line2); border-bottom-width:2px; border-radius:6px; padding:1px 6px; font-size:11px; color:var(--text2); background:var(--surface); }

.blxbk-stage{ flex:1 1 auto; position:relative; overflow:hidden; }
.blxbk-step{ position:absolute; inset:0; display:flex; align-items:flex-start; justify-content:center; overflow-y:auto;
  padding:min(5vh,44px) 22px 118px; opacity:0; transform:translateY(10px); pointer-events:none; transition:opacity .4s var(--ease),transform .4s var(--ease); scrollbar-width:none; }
.blxbk-step::-webkit-scrollbar{ width:0; }
.blxbk-step.on{ opacity:1; transform:none; pointer-events:auto; }
.blxbk-wrap{ width:100%; max-width:520px; }
.blxbk-eyebrow{ font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:flex; gap:9px; align-items:center; }
.blxbk-eyebrow .n{ color:var(--text3); }
.blxbk-h1{ font-size:clamp(24px,3.6vw,34px); font-weight:600; line-height:1.02; letter-spacing:-.03em; margin-bottom:10px; color:var(--text); }
.blxbk-sub{ font-size:14px; color:var(--text2); margin-bottom:16px; line-height:1.5; }

.blxbk-seg{ display:inline-flex; background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:3px; gap:2px; margin-bottom:14px; }
.blxbk-seg button{ border:0; background:transparent; color:var(--text2); font-size:13px; font-weight:500; padding:8px 14px; border-radius:8px; transition:.16s var(--ease); }
.blxbk-seg button:hover{ color:var(--text); }
.blxbk-seg button.on{ background:var(--surface2); color:var(--text); box-shadow:0 1px 0 rgba(255,255,255,.04) inset,0 1px 2px rgba(0,0,0,.3); }

.blxbk-cbx{ position:relative; margin-bottom:10px; }
.blxbk-field{ position:relative; }
.blxbk-field .dot{ position:absolute; left:16px; top:50%; transform:translateY(-50%); width:9px; height:9px; border-radius:50%; border:2px solid var(--gold); background:transparent; }
.blxbk-field.to .dot{ border-radius:2px; border-color:var(--text2); background:var(--text2); }
.blxbk-inp{ width:100%; height:50px; background:var(--surface); border:1px solid var(--line); border-radius:var(--r); color:var(--text); font-size:16px; font-weight:500; padding:0 16px 0 40px; outline:none; transition:.16s var(--ease); }
.blxbk-inp::placeholder{ color:var(--text3); font-weight:400; }
.blxbk-inp:hover{ border-color:var(--line2); }
.blxbk-inp:focus{ border-color:var(--goldline); box-shadow:0 0 0 4px var(--goldsoft); }
.blxbk-swap{ position:absolute; right:10px; top:-27px; width:34px; height:34px; border-radius:9px; background:var(--surface); border:1px solid var(--line); color:var(--text2); display:flex; align-items:center; justify-content:center; font-size:15px; transition:.16s var(--ease); z-index:2; }
.blxbk-swap:hover{ color:var(--gold2); border-color:var(--goldline); transform:rotate(180deg); }

.blxbk-menu{ position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:30; background:var(--surface2); border:1px solid var(--line2); border-radius:12px; box-shadow:0 24px 60px rgba(0,0,0,.65); overflow:hidden; max-height:320px; overflow-y:auto; padding:6px; }
.blxbk-menu[hidden]{ display:none; }
.blxbk-msec{ font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--text3); padding:9px 10px 5px; }
.blxbk-mrow{ width:100%; display:flex; align-items:center; gap:12px; padding:10px; border:0; background:transparent; border-radius:9px; text-align:left; color:var(--text); transition:background .12s var(--ease); }
.blxbk-mrow:hover, .blxbk-mrow.active{ background:var(--goldsoft); }
.blxbk-mic{ width:30px; height:30px; border-radius:8px; background:var(--surface); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--text2); font-size:13px; flex:0 0 auto; }
.blxbk-mrow.freq .blxbk-mic{ color:var(--gold2); border-color:var(--goldline); }
.blxbk-mrow b{ font-size:14px; font-weight:500; display:block; line-height:1.2; }
.blxbk-mrow i{ font-size:12px; color:var(--text3); font-style:normal; }
.blxbk-mstar{ margin-left:auto; color:var(--gold2); font-size:12px; flex:0 0 auto; }
.blxbk-mempty{ padding:12px; color:var(--text3); font-size:13px; }

.blxbk-row3{ display:grid; grid-template-columns:1fr 1fr .8fr; gap:9px; margin-top:10px; }
.blxbk-mini{ background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:7px 12px; }
.blxbk-mini label{ display:block; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); margin-bottom:4px; }
.blxbk-mini input{ width:100%; background:transparent; border:0; color:var(--text); font-size:14.5px; font-weight:500; outline:none; color-scheme:dark; }

/* ---- guests ----
   The browser's own spinner is drawn by the operating system — a black square
   with system arrows, which is the one element on this card the design has no
   say over. It is hidden, and the stepping is done by two quiet buttons drawn
   in the house style instead. Typing still works; min and max still hold. */
.blxbk-mini input[type=number]::-webkit-outer-spin-button,
.blxbk-mini input[type=number]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.blxbk-mini input[type=number]{ -moz-appearance:textfield; appearance:textfield; }
.blxbk-paxrow{ display:flex; align-items:center; gap:6px; }
.blxbk-paxrow input{ min-width:0; }
/* `blxbk-step` is taken — it is the wizard's own panel class, and a rule on
   `.blxbk-step button` styled every button in the widget. Hence the name. */
.blxbk-paxstep{ flex:none; display:inline-flex; gap:3px; }
.blxbk-paxstep button{ width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--line); border-radius:7px; background:transparent; color:var(--text2);
  font:inherit; font-size:14px; line-height:1; cursor:pointer; padding:0;
  transition:color .14s, border-color .14s, background .14s; }
.blxbk-paxstep button:hover{ color:var(--gold2); border-color:var(--gold2); background:rgba(201,162,39,.08); }
.blxbk-paxstep button:active{ transform:translateY(.5px); }

.blxbk-ribbon{ margin-top:12px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(180deg,var(--surface),#101013); overflow:hidden; max-height:0; opacity:0; transition:max-height .5s var(--ease),opacity .4s var(--ease),margin .4s var(--ease); }
.blxbk-ribbon.show{ max-height:272px; opacity:1; }
.blxbk-ribbon.show.haslegs{ max-height:380px; }
.blxbk-rmap{ height:120px; position:relative; background:#0c0c0f; }
.blxbk-rmapimg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .5s var(--ease); }
.blxbk-rmapimg.show{ opacity:1; }
.blxbk-rmaphint{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:9px; color:var(--text3); font-size:12.5px; }
.blxbk-spin{ width:15px; height:15px; border-radius:50%; border:2px solid rgba(200,162,74,.22); border-top-color:var(--gold2); animation:blxbkspin .9s linear infinite; }
@keyframes blxbkspin{ to{ transform:rotate(360deg); } }
.blxbk-rstats{ display:flex; align-items:center; border-top:1px solid var(--line); }
.blxbk-rstat{ flex:1; padding:9px 16px; border-right:1px solid var(--line); }
.blxbk-rstat:last-child{ border-right:0; }
.blxbk-rstat .l{ font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); margin-bottom:3px; }
.blxbk-rstat .v{ font-size:16px; font-weight:600; }
.blxbk-rstat .v .u{ font-size:12px; color:var(--text2); font-weight:500; }
.blxbk-rstat.price .v{ color:var(--gold2); }

.blxbk-vlist{ display:flex; flex-direction:column; gap:8px; }
.blxbk-veh{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r); transition:border-color .16s var(--ease),background .16s var(--ease); position:relative; overflow:hidden; color:var(--text); }
.blxbk-veh:hover{ border-color:var(--line2); }
.blxbk-veh.on{ border-color:var(--goldline); background:linear-gradient(90deg,var(--goldsoft),transparent 60%); }
.blxbk-veh.on::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--gold); z-index:1; }
.blxbk-vrow{ display:grid; grid-template-columns:22px 1fr auto 16px; gap:14px; align-items:center; padding:15px 16px; cursor:pointer; }
.blxbk-vsel{ width:22px; height:22px; border-radius:6px; border:1.6px solid var(--line2); background:var(--surface2); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.16s var(--ease); }
.blxbk-vsel:hover{ border-color:var(--goldline); }
.blxbk-vsel i{ width:10px; height:10px; border-radius:3px; background:transparent; transition:.16s var(--ease); }
.blxbk-veh.on .blxbk-vsel{ border-color:var(--gold); background:var(--gold); }
.blxbk-veh.on .blxbk-vsel i{ background:#17130a; }
.blxbk-veh .ico{ width:40px; height:40px; border-radius:9px; background:var(--surface2); border:1px solid var(--line); display:flex; align-items:center; justify-content:center; color:var(--text2); font-size:17px; overflow:hidden; }
.blxbk-veh.on .ico{ color:var(--gold2); border-color:var(--goldline); }
.blxbk-veh .nm{ font-size:16px; font-weight:600; color:#f6f6f8; }
.blxbk-veh .mt{ font-size:12.5px; color:var(--text2); margin-top:3px; }
.blxbk-veh .pr{ text-align:right; }
.blxbk-veh .pr .p{ font-size:19px; font-weight:600; color:#f6f6f8; }
.blxbk-veh .pr .u{ font-size:11px; color:var(--text3); }
.blxbk-vchev{ color:var(--text3); font-size:20px; line-height:1; text-align:center; transition:transform .28s var(--ease),color .16s var(--ease); }
.blxbk-veh.open .blxbk-vchev{ transform:rotate(90deg); color:var(--gold2); }
.blxbk-veh:hover .blxbk-vchev{ color:var(--text2); }

/* inline vehicle drawer */
.blxbk-vdrawer{ max-height:0; opacity:0; overflow:hidden; transition:max-height .4s var(--ease),opacity .3s var(--ease); position:relative; }
.blxbk-veh.open .blxbk-vdrawer{ max-height:640px; opacity:1; }
.blxbk-dvp{ position:relative; overflow:hidden; border-top:1px solid var(--line); }
.blxbk-dtrack{ display:flex; transition:transform .35s var(--ease); }
.blxbk-dslide{ flex:0 0 100%; }
.blxbk-dimg{ height:180px; background:#0c0c0f; background-size:cover; background-position:center; display:flex; align-items:center; justify-content:center; }
.blxbk-dimg span svg{ width:96px; height:auto; color:rgba(216,186,99,.5); }
.blxbk-dbody{ padding:16px 18px 4px; }
.blxbk-dname{ font-size:18px; font-weight:600; letter-spacing:-.02em; }
.blxbk-dspec{ font-size:13px; color:var(--text2); margin-top:4px; }
.blxbk-dfeats{ display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.blxbk-dfeats span{ font-size:12px; color:var(--text); background:var(--surface2); border:1px solid var(--line); border-radius:999px; padding:5px 11px; }
.blxbk-ddesc{ font-size:12.5px; color:var(--text2); line-height:1.55; margin-top:11px; }
.blxbk-dnav{ position:absolute; top:90px; transform:translateY(-50%); z-index:3; width:34px; height:34px; border-radius:50%; border:1px solid var(--line2); background:rgba(10,10,12,.7); color:var(--text); font-size:18px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.blxbk-dnav:hover{ border-color:var(--goldline); color:var(--gold2); }
.blxbk-dnav.prev{ left:10px; } .blxbk-dnav.next{ right:10px; }
.blxbk-ddots{ display:flex; gap:6px; justify-content:center; padding:10px 0 2px; }
.blxbk-ddots button{ width:6px; height:6px; border-radius:50%; border:0; background:rgba(255,255,255,.2); cursor:pointer; padding:0; transition:.2s; }
.blxbk-ddots button.on{ background:var(--gold2); width:18px; border-radius:3px; }
.blxbk-dfoot{ display:flex; align-items:center; gap:14px; padding:14px 18px 18px; }
.blxbk-dprice{ font-size:15px; font-weight:600; color:var(--gold2); }
.blxbk-dcta{ margin-left:auto; height:44px; padding:0 20px; border:0; border-radius:10px; background:linear-gradient(180deg,#c9a542,#b0882a); color:#17130a; font-size:14px; font-weight:600; cursor:pointer; transition:.16s var(--ease); }
.blxbk-dcta:hover{ filter:brightness(1.05); }

.blxbk-two{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.blxbk-lbl{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text3); margin:14px 0 7px; }
.blxbk-tinp{ width:100%; height:50px; background:var(--surface); border:1px solid var(--line); border-radius:10px; color:var(--text); font-size:15px; font-weight:500; padding:0 14px; outline:none; transition:.16s var(--ease); }
.blxbk-tinp::placeholder{ color:var(--text3); font-weight:400; }
.blxbk-tinp:focus{ border-color:var(--goldline); box-shadow:0 0 0 4px var(--goldsoft); }

.blxbk-summary{ border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-bottom:14px; }
.blxbk-smap{ height:170px; position:relative; background:#0c0c0f; border-bottom:1px solid var(--line); }
.blxbk-smap img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.blxbk-srow{ display:flex; justify-content:space-between; gap:14px; padding:12px 16px; border-bottom:1px solid var(--line); font-size:13.5px; }
.blxbk-srow:last-of-type{ border-bottom:0; }
.blxbk-srow .k{ color:var(--text2); } .blxbk-srow .v{ font-weight:500; text-align:right; }
.blxbk-total{ display:flex; justify-content:space-between; align-items:baseline; padding:16px; }
.blxbk-total .k{ font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text2); }
.blxbk-total .v{ font-size:30px; font-weight:700; letter-spacing:-.02em; }
.blxbk-total .v small{ font-size:13px; color:var(--text2); font-weight:500; margin-left:6px; }
.blxbk-err{ background:rgba(201,80,60,.14); border:1px solid rgba(201,80,60,.4); color:#e9b4a3; font-size:13px; border-radius:11px; padding:11px 14px; }

.blxbk-foot{ position:absolute; left:0; right:0; bottom:0; padding:12px 22px calc(12px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:12px; background:linear-gradient(0deg, var(--bg) 55%, transparent); }
.blxbk-wrapf{ width:100%; max-width:520px; margin:0 auto; display:flex; align-items:center; gap:12px; }
.blxbk-back{ display:inline-flex; align-items:center; justify-content:center; gap:7px; flex:0 0 auto; white-space:nowrap;
  height:48px; padding:0 20px; background:var(--surface); border:1px solid var(--line); border-radius:11px;
  color:var(--text2); font-size:13px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  cursor:pointer; transition:.16s var(--ease); }
.blxbk-back:hover{ color:var(--text); border-color:var(--line2); background:var(--surface2,var(--surface)); }
.blxbk-back:active{ transform:scale(.985); }
.blxbk-spacer{ flex:1; }
.blxbk-cta{ height:52px; padding:0 22px; border:0; border-radius:12px; background:linear-gradient(180deg,#c9a542,#b0882a); color:#17130a; font-size:15px; font-weight:600; letter-spacing:-.01em; display:inline-flex; align-items:center; gap:10px; transition:.16s var(--ease); white-space:nowrap; }
.blxbk-cta:hover{ background:linear-gradient(180deg,#d3af4c,#b8902e); transform:translateY(-1px); }
.blxbk-cta:active{ transform:translateY(0); }
/* Disabled must still read as a button waiting its turn — not as a gap where
   one should be. Keep the shape, drop the gold, add a border it can stand on. */
.blxbk-cta[disabled]{ background:var(--surface2); color:var(--text3); cursor:not-allowed; transform:none;
  box-shadow:inset 0 0 0 1px var(--line2); }
.blxbk-cta[disabled] .price{ border-left-color:var(--line2); }
.blxbk-cta .price{ border-left:1px solid rgba(0,0,0,.18); padding-left:12px; font-weight:700; }
.blxbk-cta .arw{ transition:transform .2s var(--ease); }
.blxbk-cta:hover .arw{ transform:translateX(3px); }

.blxbk-done{ text-align:center; padding-top:6vh; }
.blxbk-check{ width:72px; height:72px; border-radius:50%; border:1.5px solid var(--goldline); display:flex; align-items:center; justify-content:center; margin:0 auto 22px; color:var(--gold2); font-size:30px; animation:blxbkpop .5s var(--ease); }
@keyframes blxbkpop{ from{ transform:scale(.85); opacity:0; } to{ transform:none; opacity:1; } }
.blxbk-refpill{ display:inline-block; margin-top:16px; font-size:13px; color:var(--text2); border:1px solid var(--line); border-radius:999px; padding:8px 16px; }
.blxbk-refpill b{ color:var(--text); letter-spacing:.06em; }

/* google places widget dropdown (if used) — hidden; we render our own menu */
.pac-container{ display:none !important; }

@media(max-width:560px){
  .blxbk-top{ gap:12px; padding:0 16px; } .blxbk-tophint{ display:none; }
  .blxbk-step{ padding:26px 16px 130px; } .blxbk-foot{ padding:14px 16px calc(14px + env(safe-area-inset-bottom)); }
  .blxbk-row3{ grid-template-columns:1fr 1fr .7fr; gap:7px; }
  .blxbk-mini{ padding:6px 9px; }
  .blxbk-mini label{ font-size:9.5px; letter-spacing:.06em; }
}

/* vehicle class icons */
.blxbk-veh .ico{ overflow:hidden; }
.blxbk-veh .ico svg{ width:28px; height:auto; color:var(--text2); }
.blxbk-veh.on .ico svg{ color:var(--gold2); }

/* ---- demo: behind-the-scenes reveal ---- */
.blxbk-demobtn{ margin-top:26px; height:44px; padding:0 18px; background:transparent; border:1px solid var(--line2); border-radius:11px; color:var(--gold2); font-size:13.5px; font-weight:500; display:inline-flex; align-items:center; gap:9px; transition:.16s var(--ease); }
.blxbk-demobtn:hover{ border-color:var(--goldline); background:var(--goldsoft); }
.blxbk-demobtn span{ transition:transform .2s var(--ease); }
.blxbk-demobtn:hover span{ transform:translateX(3px); }
.blxbk-demobtn[hidden]{ display:none; }

.blxbk-wrap.blxbk-bts{ max-width:640px; }
.blxbk-flow{ margin:6px 0 30px; position:relative; }
.blxbk-fstep{ display:grid; grid-template-columns:30px 1fr; gap:15px; padding-bottom:18px; position:relative; }
.blxbk-fstep:not(:last-child)::before{ content:""; position:absolute; left:14px; top:30px; bottom:0; width:1px; background:linear-gradient(var(--goldline),var(--line)); }
.blxbk-fnum{ width:30px; height:30px; border-radius:50%; border:1px solid var(--goldline); background:var(--goldsoft); color:var(--gold2); font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:center; z-index:1; }
.blxbk-ftitle{ font-size:14.5px; font-weight:600; color:var(--text); margin-top:4px; }
.blxbk-ftext{ font-size:13px; color:var(--text2); line-height:1.55; margin-top:3px; }

.blxbk-emaillbl{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:6px 0 10px; }
.blxbk-emaillbl span:first-child{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.blxbk-emaillbl .to{ font-size:12px; color:var(--text3); }
.blxbk-emailwin{ border:1px solid var(--line2); border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 24px 60px rgba(0,0,0,.5); }
.blxbk-emailbar{ display:flex; align-items:center; gap:7px; padding:11px 14px; background:#1b1b21; border-bottom:1px solid rgba(0,0,0,.3); }
.blxbk-emailbar i{ width:11px; height:11px; border-radius:50%; background:#3a3a44; flex:0 0 auto; }
.blxbk-emailbar i:nth-child(1){ background:#e0685c; } .blxbk-emailbar i:nth-child(2){ background:#e6b34d; } .blxbk-emailbar i:nth-child(3){ background:#5bb85b; }
.blxbk-emailbar .subj{ margin-left:10px; font-size:12.5px; color:var(--text2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.blxbk-emailbody{ background:#fff; max-height:60vh; overflow-y:auto; }

.blxbk-demoback{ display:inline-flex; align-items:center; gap:8px; margin:22px 0 0; height:44px; padding:0 18px; background:var(--surface); border:1px solid var(--line); border-radius:11px; color:var(--text2); font-size:14px; font-weight:500; transition:.16s var(--ease); }
.blxbk-demoback:hover{ color:var(--text); border-color:var(--line2); }

/* confirmation demo button: centered on its own line */
.blxbk-done .blxbk-demobtn{ display:flex; width:-moz-fit-content; width:fit-content; margin:26px auto 0; }

/* close (exit the full-screen widget) */
.blxbk-close{ flex:0 0 auto; width:34px; height:34px; border-radius:9px; border:1px solid var(--line2); background:var(--surface); color:var(--text2); font-size:19px; line-height:1; display:flex; align-items:center; justify-content:center; transition:.16s var(--ease); }
.blxbk-close:hover{ color:var(--text); border-color:var(--goldline); background:var(--surface2); }
.blxbk-app.blxbk-inline .blxbk-close{ display:none; }

/* inline (embedded-in-a-block) layout — contained, not a full-screen takeover */
.blxbk-app.blxbk-inline{ position:relative; inset:auto; z-index:1; width:100%; max-width:100%; height:min(760px,88vh); border:1px solid var(--line2); border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.35); }
@media(max-width:560px){ .blxbk-app.blxbk-inline{ height:82vh; border-radius:14px; } }

/* custom-route estimate note (Review) */
.blxbk-estnote{ margin-top:12px; font-size:12.5px; line-height:1.55; color:var(--gold2); background:var(--goldsoft); border:1px solid var(--goldline); border-radius:11px; padding:12px 14px; }

/* inline widget: tighter vertical rhythm so step 1 never scrolls */
.blxbk-app.blxbk-inline .blxbk-step{ padding-top:20px; padding-bottom:104px; }
.blxbk-app.blxbk-inline .blxbk-h1{ font-size:24px; margin-bottom:6px; }
.blxbk-app.blxbk-inline .blxbk-sub{ font-size:13px; margin-bottom:12px; }
.blxbk-app.blxbk-inline .blxbk-eyebrow{ margin-bottom:9px; }
.blxbk-app.blxbk-inline .blxbk-seg{ margin-bottom:11px; }
.blxbk-app.blxbk-inline .blxbk-rmap{ height:104px; }

/* trip-type row + stops + return */
.blxbk-segrow{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.blxbk-addstop{ display:inline-flex; align-items:center; gap:6px; margin:0 0 10px; background:transparent; border:1px dashed var(--line2); color:var(--text3); border-radius:9px; height:32px; padding:0 12px; font-size:12.5px; font-weight:500; transition:.16s var(--ease); }
.blxbk-addstop:hover{ color:var(--gold2); border-color:var(--goldline); }
.blxbk-cbx.stop .blxbk-inp{ padding-right:46px; }
.blxbk-field .dot.mid{ width:7px; height:7px; border-radius:50%; border:2px solid var(--gold2); background:transparent; }
.blxbk-stoprm{ position:absolute; right:10px; top:50%; transform:translateY(-50%); width:26px; height:26px; border-radius:8px; border:1px solid var(--line); background:var(--surface2); color:var(--text3); font-size:15px; line-height:1; display:flex; align-items:center; justify-content:center; transition:.15s var(--ease); z-index:2; }
.blxbk-stoprm:hover{ color:#e9b4a3; border-color:rgba(201,80,60,.4); }
.blxbk-return{ grid-template-columns:1fr 1fr .8fr; }
.blxbk-row3[hidden]{ display:none; }

/* see-my-route */
.blxbk-seeroute{ position:absolute; right:10px; bottom:10px; z-index:3; display:inline-flex; align-items:center; gap:6px; height:30px; padding:0 12px; border-radius:999px; border:1px solid var(--goldline); background:rgba(8,8,10,.72); backdrop-filter:blur(4px); color:var(--gold2); font-size:12px; font-weight:600; transition:.16s var(--ease); }
.blxbk-seeroute:hover{ background:var(--goldsoft); }
.blxbk-seeroute[hidden]{ display:none; }
.blxbk-seeroute span{ font-size:13px; }

.blxbk-mappop{ --bg:#0b0b0e; --surface:#16161b; --line:rgba(255,255,255,.09); --line2:rgba(255,255,255,.15); --text:#ededf0; --text2:#9a9aa2; --text3:#616169; --gold:#bd982e; --gold2:#d8ba63; --goldsoft:rgba(189,152,46,.13); --goldline:rgba(189,152,46,.44); --ease:cubic-bezier(.2,.8,.2,1);
  position:fixed; inset:0; z-index:2147483600; display:flex; align-items:center; justify-content:center; padding:24px;
  font-family:'Inter',-apple-system,'Segoe UI',sans-serif; letter-spacing:-.01em; opacity:0; transition:opacity .22s var(--ease); }
.blxbk-mappop.show{ opacity:1; }
.blxbk-mappop .ov{ position:absolute; inset:0; background:rgba(4,4,6,.78); backdrop-filter:blur(6px); }
.blxbk-mappop .card{ position:relative; width:min(880px,96vw); max-height:92vh; display:flex; flex-direction:column; background:#101014; border:1px solid var(--line2); border-radius:18px; overflow:hidden; box-shadow:0 40px 100px -20px rgba(0,0,0,.85); transform:translateY(14px) scale(.99); transition:transform .28s var(--ease); color:var(--text); }
.blxbk-mappop.show .card{ transform:none; }
.blxbk-mappop .head{ display:flex; align-items:flex-start; gap:14px; padding:18px 20px 14px; border-bottom:1px solid var(--line); }
.blxbk-mappop .eyebrow{ font-size:10.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.blxbk-mappop .legs{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:13.5px; font-weight:500; color:var(--text); }
.blxbk-mappop .legs .leg{ display:inline-flex; align-items:center; gap:7px; max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.blxbk-mappop .legs i{ font-style:normal; flex:0 0 auto; width:16px; height:16px; border-radius:50%; background:var(--goldsoft); border:1px solid var(--goldline); color:var(--gold2); font-size:10px; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.blxbk-mappop .legs i.a{ background:transparent; border:2px solid var(--gold); width:11px; height:11px; }
.blxbk-mappop .legs i.b{ background:#fff; border-color:#fff; border-radius:3px; width:11px; height:11px; }
.blxbk-mappop .legs .arw{ color:var(--text3); }
.blxbk-mappop .x{ margin-left:auto; flex:0 0 auto; width:34px; height:34px; border-radius:9px; border:1px solid var(--line2); background:var(--surface); color:var(--text2); font-size:20px; line-height:1; cursor:pointer; }
.blxbk-mappop .x:hover{ color:var(--text); border-color:var(--goldline); }
.blxbk-mappop .mapwrap{ flex:1 1 auto; min-height:0; background:#e9e6df; }
.blxbk-mappop .mapwrap img{ display:block; width:100%; height:100%; max-height:62vh; object-fit:contain; }
.blxbk-mappop .foot{ display:flex; align-items:center; gap:22px; padding:13px 20px; border-top:1px solid var(--line); font-size:13.5px; color:var(--text2); }
.blxbk-mappop .foot .pr{ margin-left:auto; color:var(--gold2); font-weight:700; font-size:15px; }
@media(max-width:560px){ .blxbk-mappop{ padding:10px; } .blxbk-mappop .legs .leg{ max-width:150px; } }

/* classes too small for the party: visible but inert, with the reason */
.blxbk-veh.unfit{ opacity:.45; }
.blxbk-veh.unfit .blxbk-vrow{ cursor:default; }
.blxbk-veh.unfit .blxbk-vsel{ visibility:hidden; }
.blxbk-veh.unfit .blxbk-vchev{ visibility:hidden; }
.blxbk-veh.unfit .pr .u{ font-size:11px; color:var(--text3); text-transform:uppercase; letter-spacing:.08em; }

/* recommended class badge */
.blxbk-bestfit{ display:inline-block; margin-left:9px; vertical-align:1px; font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold2); background:var(--goldsoft); border:1px solid var(--goldline); border-radius:999px; padding:2px 8px; }

/* best-fit class note under the ribbon stats */
/* round trip: each leg priced on its own line inside the route ribbon.
   Named -rleg, not -leg: the review step already owns .blxbk-leg. */
.blxbk-rlegs[hidden]{ display:none !important; }
.blxbk-rlegs{ border-top:1px solid var(--line); }
.blxbk-rleg{ display:flex; align-items:baseline; gap:10px; padding:7px 16px; }
.blxbk-rleg + .blxbk-rleg{ border-top:1px solid var(--line); }
.blxbk-rleg .l{ flex:none; width:76px; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); }
.blxbk-rleg .w{ flex:1; min-width:0; font-size:12.5px; color:var(--text2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.blxbk-rleg .v{ flex:none; font-size:14px; font-weight:600; color:var(--gold2); }
@media(max-width:520px){
  .blxbk-ribbon.show.haslegs{ max-height:460px; }
  .blxbk-rleg{ flex-wrap:wrap; gap:2px 10px; }
  .blxbk-rleg .l{ width:auto; }
  .blxbk-rleg .w{ flex:1 1 100%; order:3; }
}
.blxbk-classnote{ padding:7px 16px 9px; border-top:1px solid var(--line); font-size:11.5px; color:var(--text3); }
.blxbk-classnote b{ color:var(--gold2); font-weight:600; }

/* menu footer: escape to custom route */
.blxbk-mswitch{ width:100%; margin-top:4px; padding:10px; border:0; border-top:1px dashed var(--line2); background:transparent; color:var(--gold2); font-size:12.5px; font-weight:600; text-align:center; border-radius:0 0 9px 9px; transition:background .12s var(--ease); }
.blxbk-mswitch:hover{ background:var(--goldsoft); }

/* standard-rate announcement */
.blxbk-classnote .std{ color:var(--gold2); font-weight:700; }
.blxbk-classnote.is-std{ background:var(--goldsoft); border-top-color:var(--goldline); color:var(--text2); }

/* stop drag handle + reorder states */
.blxbk-drag{ position:absolute; left:11px; top:50%; transform:translateY(-50%); z-index:2; cursor:grab; color:var(--text3); font-size:12px; letter-spacing:-3px; padding:6px 4px; user-select:none; transition:color .15s var(--ease); }
.blxbk-drag:hover{ color:var(--gold2); }
.blxbk-drag:active{ cursor:grabbing; }
.blxbk-cbx.stop.dragging{ opacity:.45; }
.blxbk-cbx.stop.drag-over .blxbk-field{ box-shadow:inset 0 2px 0 var(--gold2); border-radius:var(--r); }

/* use-my-location row */
.blxbk-mrow.geo .blxbk-mic{ color:var(--gold2); border-color:var(--goldline); }

/* 3d model in the vehicle drawer */
.blxbk-dimg.mv{ position:relative; background:#0c0c0f; }
.blxbk-3dtag{ position:absolute; right:10px; bottom:10px; z-index:2; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--gold2); background:rgba(8,8,10,.72); border:1px solid var(--goldline); border-radius:999px; padding:3px 9px; pointer-events:none; }

/* drawer 3d loading state */
.blxbk-mvload{ height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--text3); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; }

/* ================= mobile-first refinements ================= */
/* dynamic viewport: no iOS URL-bar jump */
@supports (height: 100dvh){
  .blxbk-app{ height:100dvh; }
  .blxbk-app.blxbk-inline{ height:min(680px,92dvh); }
}
.blxbk-step{ overscroll-behavior:contain; }

@media (max-width:640px){
  /* chrome slims down */
  .blxbk-top{ height:52px; padding:0 14px; gap:12px; }
  .blxbk-steps i{ width:18px; } .blxbk-steps i.on{ width:26px; }
  .blxbk-tophint{ display:none; }
  .blxbk-step{ padding:18px 14px 132px; }

  /* 16px inputs: no iOS zoom-on-focus */
  .blxbk-tinp{ height:52px; font-size:16px; }
  .blxbk-mini input{ font-size:16px; }
  .blxbk-inp{ height:52px; }

  /* zone/place menus become bottom sheets */
  .blxbk-menu{ position:fixed; left:10px; right:10px; top:auto; bottom:calc(10px + env(safe-area-inset-bottom));
    max-height:56dvh; border-radius:16px; z-index:2147483500; box-shadow:0 -18px 60px rgba(0,0,0,.7); padding:8px; }
  .blxbk-mrow{ padding:13px 12px; }
  .blxbk-mrow b{ font-size:15px; }
  .blxbk-mswitch{ padding:13px; }

  /* thumb targets */
  .blxbk-stoprm{ width:34px; height:34px; }
  .blxbk-swap{ width:38px; height:38px; }
  .blxbk-vrow{ padding:14px 12px; gap:11px; }
  .blxbk-vsel{ width:24px; height:24px; }
  .blxbk-veh .pr .p{ font-size:17px; }
  .blxbk-dnav{ width:40px; height:40px; }
  .blxbk-dcta{ height:48px; }

  /* segments span the width comfortably */
  .blxbk-segrow{ gap:6px; }
  .blxbk-seg{ display:flex; flex:1 1 100%; }
  .blxbk-seg button{ flex:1; padding:9px 8px; font-size:12.5px; }

  /* sticky footer: full-width CTA, compact back */
  .blxbk-foot{ padding:10px 14px calc(10px + env(safe-area-inset-bottom)); }
  .blxbk-cta{ flex:1; justify-content:center; height:54px; font-size:15.5px; }
  .blxbk-back{ height:54px; padding:0 14px; }

  /* review + demo comfortable */
  .blxbk-srow{ padding:11px 13px; font-size:13px; }
  .blxbk-total .v{ font-size:26px; }
  .blxbk-estnote{ font-size:12px; }

  /* see-my-route pop: full-screen sheet */
  .blxbk-mappop{ padding:0; }
  .blxbk-mappop .card{ width:100vw; max-height:none; height:100dvh; border-radius:0; border:0; }
  .blxbk-mappop .mapwrap img{ max-height:none; }
}

/* respect reduced-motion */
@media (prefers-reduced-motion: reduce){
  .blxbk-app *, .blxbk-mappop *, .blxbk-ribbon, .blxbk-step, .blxbk-vdrawer, .blxbk-dtrack{ transition:none !important; animation-duration:.01s !important; }
}

/* drawer coming-soon state (no 3d model) */
.blxbk-dimg.soon{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--text3); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; }
.blxbk-3dbadge{ width:38px; height:38px; border-radius:11px; border:1px solid var(--goldline); background:var(--goldsoft); color:var(--gold2); font-size:14px; font-weight:700; display:flex; align-items:center; justify-content:center; letter-spacing:0; }

/* ---- concierge touches (v0.9.0) ---- */
.blxbk-app .blxbk-welcome{margin:2px 0 14px;padding:10px 14px;background:var(--goldsoft);border:1px solid var(--goldline);border-radius:10px;color:var(--gold2);font-size:13.5px;letter-spacing:.01em}
.blxbk-app .blxbk-welcome b{color:var(--gold2);font-weight:600}
.blxbk-app .blxbk-emhint{margin:6px 2px 0;font-size:12.5px;color:var(--gold2);cursor:pointer}
.blxbk-app .blxbk-emhint b{text-decoration:underline;text-underline-offset:3px}
.blxbk-app .blxbk-flightnote{margin:7px 2px 0;font-size:12px;color:var(--text2);letter-spacing:.01em}
/* verification: say back what we found, so a wrong digit is visible */
.blxbk-app .blxbk-flwrap{position:relative}
.blxbk-app .blxbk-flspin{position:absolute;right:14px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;
  border:2px solid rgba(201,162,39,.3);border-top-color:#c9a227;animation:blxbkspin .7s linear infinite}
@keyframes blxbkspin{to{transform:rotate(360deg)}}
.blxbk-app .blxbk-flcheck{margin-top:8px;padding:10px 13px;border-radius:9px;border-left:3px solid var(--line);
  background:rgba(255,255,255,.04);font-size:13px;line-height:1.45;display:flex;flex-direction:column;gap:2px}
/* display:flex beats the hidden attribute — say so explicitly, or an empty
   verification box floats under the field before anything is typed */
.blxbk-app .blxbk-flcheck[hidden],
.blxbk-app .blxbk-flboard[hidden],
.blxbk-app .blxbk-flopt[hidden],
.blxbk-app .blxbk-flfind[hidden],
.blxbk-app .blxbk-flspin[hidden]{display:none !important}
.blxbk-app .blxbk-flcheck b{font-weight:700}
.blxbk-app .blxbk-flcheck span{font-size:12.5px;color:var(--text2)}
.blxbk-app .blxbk-flcheck i{font-style:normal;font-size:11.5px;color:var(--text2);opacity:.75}
.blxbk-app .blxbk-flcheck.ok{border-left-color:#5cb87a}
.blxbk-app .blxbk-flcheck.ok b{color:#5cb87a}
.blxbk-app .blxbk-flcheck.warn{border-left-color:#e0a020}
.blxbk-app .blxbk-flcheck.warn b{color:#e0a020}
.blxbk-app .blxbk-flcheck.soft{border-left-color:var(--gold,#c9a227)}
.blxbk-app .blxbk-flfind{display:block;margin-top:8px;background:none;border:0;padding:4px 2px;cursor:pointer;
  font:inherit;font-size:12.5px;font-weight:600;color:var(--gold,#c9a227);text-decoration:underline;text-underline-offset:3px}
.blxbk-app .blxbk-flboard{margin-top:8px;max-height:260px;overflow-y:auto;border:1px solid var(--line);border-radius:10px}
.blxbk-app .blxbk-flboardhead{position:sticky;top:0;padding:9px 13px;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold,#c9a227);background:var(--panel,#101010);border-bottom:1px solid var(--line)}
.blxbk-app .blxbk-flloading{padding:14px;font-size:12.5px;color:var(--text2)}
.blxbk-app .blxbk-flopt{display:flex;align-items:center;gap:10px;width:100%;padding:11px 13px;background:none;border:0;
  border-bottom:1px solid var(--line);cursor:pointer;font:inherit;text-align:left;color:inherit}
.blxbk-app .blxbk-flopt:last-child{border-bottom:0}
.blxbk-app .blxbk-flopt:hover{background:rgba(201,162,39,.08)}
.blxbk-app .blxbk-flopt b{flex:none;font-size:13px;font-weight:700;min-width:62px}
.blxbk-app .blxbk-flopt span{flex:1;min-width:0;font-size:12.5px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blxbk-app .blxbk-flopt i{flex:none;font-style:normal;font-size:12.5px;font-weight:600}
.blxbk-app #blxbk-flightrow{margin-top:2px}
.blxbk-app .blxbk-prefs{margin:14px 0 4px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.blxbk-app .blxbk-prefhead{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 16px;background:none;border:0;color:var(--text);font-family:var(--font);font-size:13.5px;letter-spacing:.02em;cursor:pointer}
.blxbk-app .blxbk-prefhead i{font-style:normal;color:var(--text3);font-size:12px;margin-left:8px}
.blxbk-app .blxbk-prefhead .chev{color:var(--text3);font-size:17px;transition:transform .22s var(--ease)}
.blxbk-app .blxbk-prefhead.open .chev{transform:rotate(90deg)}
.blxbk-app .blxbk-prefbody{display:flex;flex-wrap:wrap;gap:8px;padding:2px 14px 14px}
.blxbk-app .blxbk-prefbody[hidden]{display:none}
.blxbk-app .blxbk-prefbody label{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:1px solid var(--line2);border-radius:999px;font-size:12.5px;color:var(--text2);cursor:pointer;user-select:none;transition:all .15s var(--ease)}
.blxbk-app .blxbk-prefbody label:has(input:checked){border-color:var(--goldline);background:var(--goldsoft);color:var(--gold2)}
.blxbk-app .blxbk-prefbody input{appearance:none;-webkit-appearance:none;width:14px;height:14px;margin:0;border:1.4px solid var(--line2);border-radius:4px;display:inline-block;position:relative;flex:none}
.blxbk-app .blxbk-prefbody input:checked{border-color:var(--gold);background:var(--gold)}
.blxbk-app .blxbk-prefbody input:checked::after{content:"";position:absolute;left:4px;top:1px;width:3.5px;height:7px;border:solid #0b0b0c;border-width:0 1.6px 1.6px 0;transform:rotate(42deg)}
.blxbk-app .blxbk-trust{margin-top:6px;padding:12px 16px 14px;border-top:1px dashed var(--line2);font-size:11.5px;color:var(--text2);letter-spacing:.01em;line-height:1.55;text-align:center}
.blxbk-app .blxbk-trust a{color:var(--gold2);text-decoration:none;border-bottom:1px solid var(--goldline)}
.blxbk-app .blxbk-trust .call{display:block;margin-top:4px}
.blxbk-app .blxbk-trust a{white-space:nowrap}
.blxbk-app .blxbk-icsbtn{margin:18px auto 0;display:inline-flex;align-items:center;gap:8px;padding:11px 22px;background:none;border:1px solid var(--goldline);border-radius:999px;color:var(--gold2);font-family:var(--font);font-size:13px;letter-spacing:.04em;cursor:pointer;transition:all .18s var(--ease)}
.blxbk-app .blxbk-icsbtn:hover{background:var(--goldsoft)}
.blxbk-app .blxbk-trustline{margin-top:14px;font-size:12.5px;color:var(--text3);letter-spacing:.02em}

/* ---------- Confirm before a quote leaves for a real desk ---------- */
.blxbk-confirm{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:24px;
  background:rgba(8,8,8,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .2s var(--ease)}
.blxbk-confirm.open{opacity:1;pointer-events:auto}
.blxbk-confirmbox{width:100%;max-width:370px;background:var(--surface);border:1px solid var(--line2);border-radius:16px;
  padding:26px 24px 20px;text-align:center;box-shadow:0 40px 90px -40px rgba(0,0,0,.75);
  transform:translateY(8px);transition:transform .22s var(--ease)}
.blxbk-confirm.open .blxbk-confirmbox{transform:none}
.blxbk-confirmbox h3{margin:0 0 6px;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-weight:600;
  font-size:24px;line-height:1.15;color:var(--text)}
.blxbk-confirmbox p{margin:0 0 20px;font-size:13.5px;color:var(--text2);line-height:1.5}
.blxbk-confirmbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.blxbk-confirmbtns button{min-height:48px;border-radius:11px;font:inherit;font-size:12.5px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.16s var(--ease)}
.blxbk-cfno{background:none;border:1px solid var(--line2);color:var(--text2)}
.blxbk-cfno:hover{color:var(--text);border-color:var(--text3)}
.blxbk-cfyes{background:var(--gold,#c9a227);border:0;color:#14120c}
.blxbk-cfyes:hover{filter:brightness(1.06)}
.blxbk-cfyes:active{transform:scale(.985)}
@media(max-width:420px){ .blxbk-confirmbtns{grid-template-columns:1fr} }
@media(max-width:640px){
  .blxbk-app .blxbk-prefbody label{padding:9px 14px;font-size:13px}
}

/* ---- v0.10.0: lead-time notice + endpoint drop targets ---- */
.blxbk-app .blxbk-leadnote{margin:10px 0 0;padding:11px 14px;background:var(--goldsoft);border:1px solid var(--goldline);border-radius:10px;color:var(--gold2);font-size:13px;line-height:1.5}
.blxbk-app .blxbk-leadnote a{color:var(--gold2);font-weight:600;text-decoration:none;border-bottom:1px solid var(--goldline);white-space:nowrap}
.blxbk-app .blxbk-field.drag-over{outline:1.5px dashed var(--goldline);outline-offset:2px;border-radius:10px}

/* v0.10.4: whole-route reorder — endpoint handles appear once a stop exists */
.blxbk-app .blxbk-drag.end{display:none}
.blxbk-app.blxbk-reord .blxbk-drag.end{display:block}
.blxbk-app.blxbk-reord .blxbk-cbx[data-role="from"] .dot,.blxbk-app.blxbk-reord .blxbk-cbx[data-role="to"] .dot{display:none}
.blxbk-app .blxbk-field.dragging{opacity:.55}

/* v0.10.6: submit spinner on the gold CTA */
.blxbk-cta .blxbk-spin.dark{border-color:rgba(23,19,10,.25);border-top-color:#17130a;flex:none}

/* v0.11.0: full-widget sending veil */
.blxbk-sending{position:absolute;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:rgba(8,8,10,.9);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;transition:opacity .28s var(--ease)}
.blxbk-sending.show{opacity:1}
.blxbk-sending .inner{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:24px}
.blxbk-sending .blxbk-spin.big{width:46px;height:46px;border-width:2.5px}
.blxbk-sending .t{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--text)}
.blxbk-sending .s{font-size:13.5px;color:var(--gold2);min-height:19px;transition:opacity .22s ease}
@media (prefers-reduced-motion:reduce){.blxbk-sending{transition:none}}

/* v0.11.1: seamless veil -> confirmation handoff */
.blxbk-sending .blxbk-vcheck{width:46px;height:46px;border-radius:50%;border:1.6px solid var(--goldline);background:var(--goldsoft);color:var(--gold2);display:flex;align-items:center;justify-content:center;font-size:21px;animation:blxbkpop .4s var(--ease) both}
@keyframes blxbkpop{from{transform:scale(.55);opacity:0}to{transform:scale(1);opacity:1}}
.blxbk-step.on .blxbk-done>*{animation:blxbkrise .55s var(--ease) both}
.blxbk-step.on .blxbk-done>*:nth-child(2){animation-delay:.07s}
.blxbk-step.on .blxbk-done>*:nth-child(3){animation-delay:.14s}
.blxbk-step.on .blxbk-done>*:nth-child(4){animation-delay:.21s}
.blxbk-step.on .blxbk-done>*:nth-child(5){animation-delay:.28s}
.blxbk-step.on .blxbk-done>*:nth-child(6){animation-delay:.35s}
.blxbk-step.on .blxbk-done>*:nth-child(7){animation-delay:.42s}
@keyframes blxbkrise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.blxbk-step.on .blxbk-done>*,.blxbk-sending .blxbk-vcheck{animation:none}}

/* v0.12.0: guest bio card on the behind-the-scenes reveal */
.blxbk-app .blxbk-biocard{margin:22px 0 26px;border:1px solid var(--goldline);border-radius:var(--r);background:var(--goldsoft);overflow:hidden}
.blxbk-app .blxbk-biolbl{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;border-bottom:1px solid var(--goldline);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.blxbk-app .blxbk-biolbl .src{letter-spacing:.04em;text-transform:none;color:var(--text2);font-size:11.5px}
.blxbk-app .blxbk-biotext{padding:15px 16px;font-size:14px;line-height:1.75;color:var(--text);font-style:italic}

/* v0.12.3: while typing on mobile, matches drop below the field (never over it) */
@media(max-width:640px){
  .blxbk-menu.typing{ position:absolute; left:0; right:0; top:calc(100% + 6px); bottom:auto;
    max-height:34dvh; border-radius:12px; box-shadow:0 24px 60px rgba(0,0,0,.65); padding:6px; }
  .blxbk-menu.typing .blxbk-mrow{ padding:11px 12px; }
}

/* v0.12.4: showroom backdrop inside the vehicle drawer */
.blxbk-app .blxbk-dimg.mv{position:relative;overflow:hidden}
.blxbk-app .blxbk-plate{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;display:block;z-index:0}
.blxbk-app .blxbk-alpine{position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(60% 46% at 50% 88%, rgba(189,152,46,.20), rgba(189,152,46,0) 70%),
    linear-gradient(180deg,#141019 0%,#1d1722 52%,#0a0a0c 100%);}
.blxbk-app .blxbk-alpine::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;
  background:
    linear-gradient(to top right,transparent 48%,#0d0b12 49%) 0 0/52% 100% no-repeat,
    linear-gradient(to top left,transparent 48%,#0d0b12 49%) 100% 0/56% 100% no-repeat;}
.blxbk-app .blxbk-dimg.mv model-viewer,.blxbk-app .blxbk-dimg.mv .blxbk-3dtag{position:relative;z-index:1}
.blxbk-app .blxbk-dimg.mv::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(72% 62% at 50% 46%,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%)}

/* v0.13.0: mountain-conditions card on the reveal */
.blxbk-app .blxbk-wxcard{margin:22px 0 0;border:1px solid rgba(107,143,181,.42);border-radius:var(--r);background:rgba(107,143,181,.10);overflow:hidden}
.blxbk-app .blxbk-wxlbl{padding:11px 16px;border-bottom:1px solid rgba(107,143,181,.32);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#9db8d4}
.blxbk-app .blxbk-wxtext{padding:15px 16px;font-size:13.5px;line-height:1.7;color:var(--text)}

/* v0.14.0: account awareness */
.blxbk-app .blxbk-signin{margin:0 0 14px;padding:10px 14px;border:1px solid var(--line2);border-radius:10px;font-size:13px;color:var(--text2)}
.blxbk-app .blxbk-signin.in{border-color:var(--goldline);background:var(--goldsoft);color:var(--gold2)}
.blxbk-app .blxbk-signin b{color:var(--gold2)}
.blxbk-app .blxbk-signin a{color:var(--gold2);text-decoration:none;border-bottom:1px solid var(--goldline)}
.blxbk-app .blxbk-acctcta{margin-top:14px;font-size:13px}
.blxbk-app .blxbk-acctcta a{color:var(--gold2);text-decoration:none;border-bottom:1px solid var(--goldline)}

/* amend mode: what this change costs */
.blxbk-app .blxbk-delta{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:12px;padding:14px 16px;
  border:1px solid var(--line2);border-radius:var(--r);background:var(--surface)}
.blxbk-app .blxbk-delta .k{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text2)}
.blxbk-app .blxbk-delta .v{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-left:auto}
.blxbk-app .blxbk-delta.up{border-color:var(--goldline);background:var(--goldsoft)}
.blxbk-app .blxbk-delta.up .v{color:var(--gold2)}
.blxbk-app .blxbk-delta.down{border-color:rgba(90,190,130,.4);background:rgba(90,190,130,.08)}
.blxbk-app .blxbk-delta.down .v{color:#7fd49a}
.blxbk-app .blxbk-delta i{flex:1 1 100%;font-style:normal;font-size:12px;color:var(--text2);line-height:1.5}

/* ---- round-trip legs, hourly charter, special requests, rate gate ---- */
.blxbk-app .blxbk-seg.blxbk-svc{flex:1}
.blxbk-app .blxbk-mini.blxbk-wide{flex:1 1 100%}
.blxbk-app .blxbk-legs{display:flex;flex-direction:column;gap:8px;margin:6px 0 10px}
.blxbk-app .blxbk-leg{border:1px solid var(--line2);border-radius:var(--r);padding:11px 13px;background:var(--surface)}
.blxbk-app .blxbk-leg .lh{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.blxbk-app .blxbk-leg .tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2)}
.blxbk-app .blxbk-leg .lp{font-size:15px;font-weight:700}
.blxbk-app .blxbk-leg .lr{font-size:14px;color:var(--text);line-height:1.45;overflow-wrap:anywhere}
.blxbk-app .blxbk-leg .lr i{font-style:normal;color:var(--gold2);padding:0 3px}
.blxbk-app .blxbk-leg .lm{margin-top:4px;font-size:12px;color:var(--text2)}
.blxbk-app .blxbk-reqs{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:2px 0 14px}
.blxbk-app .blxbk-reqs label{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line2);
  border-radius:var(--r);cursor:pointer;font-size:13.5px;color:var(--text);background:var(--surface);transition:border-color .16s,background .16s}
.blxbk-app .blxbk-reqs label:hover{border-color:var(--goldline)}
.blxbk-app .blxbk-reqs input{accent-color:var(--gold);width:16px;height:16px;flex:none}
.blxbk-app .blxbk-reqs input:checked+span{color:var(--gold2)}
.blxbk-app .blxbk-gate{max-width:520px;margin:0 auto;padding:22px;border:1px solid var(--goldline);
  border-radius:var(--r);background:var(--goldsoft)}
.blxbk-app .blxbk-gatehd{margin-bottom:14px}
.blxbk-app .blxbk-gatehd .eyebrow{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold2)}
.blxbk-app .blxbk-gatehd h2{font-family:var(--serif);font-size:24px;color:var(--head);margin:6px 0 6px;font-weight:600}
.blxbk-app .blxbk-gatehd p{margin:0;font-size:13.5px;line-height:1.6;color:var(--text2)}
.blxbk-app .blxbk-gatebtn{width:100%;margin-top:14px;padding:14px;border:0;border-radius:var(--r);cursor:pointer;
  background:var(--gold);color:#14120c;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:.06em;
  display:flex;align-items:center;justify-content:center;gap:8px;transition:filter .16s,transform .16s}
.blxbk-app .blxbk-gatebtn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.blxbk-app .blxbk-gatenote{margin-top:10px;text-align:center;font-size:12px;color:var(--text2)}
@media(max-width:640px){
  .blxbk-app .blxbk-seg.blxbk-svc button{font-size:12px;padding:10px 8px}
  .blxbk-app .blxbk-gate{padding:16px}
  .blxbk-app .blxbk-reqs{grid-template-columns:1fr}
}

/* ---- known guest, identity row, quote box, checkout ---- */
.blxbk-app .blxbk-known{max-width:520px;margin:0 auto;padding:22px;border:1px solid var(--goldline);border-radius:var(--r);background:var(--goldsoft)}
.blxbk-app .blxbk-knownrow{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.blxbk-app .blxbk-knownrow .av{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--gold);color:#14120c;font-weight:700;font-size:18px}
.blxbk-app .blxbk-knownrow .tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.blxbk-app .blxbk-knownrow .tx b{font-size:16px;color:var(--head)}
.blxbk-app .blxbk-knownrow .tx i{font-style:normal;font-size:12.5px;color:var(--text2);overflow-wrap:anywhere}
.blxbk-app .blxbk-notme{display:block;width:100%;margin-top:10px;padding:10px;background:none;border:0;cursor:pointer;
  color:var(--text2);font-family:inherit;font-size:12.5px;text-decoration:underline}
.blxbk-app .blxbk-notme:hover{color:var(--gold2)}
.blxbk-app .blxbk-idrow[hidden]{display:none}
.blxbk-app .blxbk-idrow{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:14px;
  border:1px solid var(--goldline);border-radius:var(--r);background:var(--goldsoft)}
.blxbk-app .blxbk-idrow .av{width:34px;height:34px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;
  background:var(--gold);color:#14120c;font-weight:700;font-size:14px}
.blxbk-app .blxbk-idrow .tx{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.blxbk-app .blxbk-idrow .tx b{font-size:14px;color:var(--head)}
.blxbk-app .blxbk-idrow .tx i{font-style:normal;font-size:12px;color:var(--text2)}
.blxbk-app .blxbk-idrow .lk{flex:none;font-size:12.5px;color:var(--gold2)}
/* the quote: one row, label and figure together, nothing repeated */
.blxbk-app .blxbk-quote{margin-top:12px;padding:14px 16px;border:1px solid var(--line2);border-radius:var(--r);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0))}
.blxbk-app .blxbk-quote.firm{border-color:var(--goldline);background:var(--goldsoft)}
.blxbk-app .blxbk-quote .qtop{display:flex;align-items:center;justify-content:space-between;gap:16px}
.blxbk-app .blxbk-quote .qlbl{display:flex;flex-direction:column;gap:2px;min-width:0;
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}
.blxbk-app .blxbk-quote .qlbl i{font-style:normal;font-size:11.5px;letter-spacing:.01em;text-transform:none;color:var(--text2);line-height:1.4}
.blxbk-app .blxbk-quote .qfig{flex:none;font-size:34px;font-weight:800;letter-spacing:-.03em;color:var(--head);line-height:1}
.blxbk-app .blxbk-quote .qinc{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line2)}
.blxbk-app .blxbk-quote .qinc span{font-size:11.5px;color:var(--text2);white-space:nowrap}
.blxbk-app .blxbk-quote .qinc span::before{content:'\2713';color:var(--gold2);margin-right:4px}
.blxbk-app .blxbk-booknote{margin-top:8px;font-size:12px;color:var(--text2);text-align:center}
/* checkout */
.blxbk-app .blxbk-cosum{border:1px solid var(--line2);border-radius:var(--r);padding:14px 16px;margin-bottom:18px;background:var(--surface)}
.blxbk-app .blxbk-cosum .row{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:13.5px}
.blxbk-app .blxbk-cosum .row .k{color:var(--text2)}
.blxbk-app .blxbk-cosum .row .v{color:var(--text);text-align:right;overflow-wrap:anywhere}
.blxbk-app .blxbk-cosum .row .v i{font-style:normal;color:var(--gold2)}
.blxbk-app .blxbk-cosum .row.total{border-top:1px solid var(--line2);margin-top:6px;padding-top:12px}
.blxbk-app .blxbk-cosum .row.total .k{color:var(--head);font-weight:600}
.blxbk-app .blxbk-cosum .row.total .v{font-size:22px;font-weight:800;color:var(--head)}
.blxbk-app .blxbk-pmlist{display:flex;flex-direction:column;gap:9px;margin-bottom:14px}
.blxbk-app .blxbk-pm{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;cursor:pointer;
  border:1px solid var(--line2);border-radius:var(--r);background:var(--surface);color:var(--text);font-family:inherit;text-align:left}
.blxbk-app .blxbk-pm:hover{border-color:var(--goldline)}
.blxbk-app .blxbk-pm.on{border-color:var(--gold);background:var(--goldsoft)}
.blxbk-app .blxbk-pm .brand{font-weight:700;font-size:13px;min-width:42px}
.blxbk-app .blxbk-pm .num{font-size:14px;color:var(--head)}
.blxbk-app .blxbk-pm .exp{font-size:12px;color:var(--text2);margin-left:auto}
.blxbk-app .blxbk-pm .tick{opacity:0;color:var(--gold2);font-size:15px}
.blxbk-app .blxbk-pm.on .tick{opacity:1}
.blxbk-app .blxbk-terms{display:flex;align-items:flex-start;gap:10px;margin:14px 0;font-size:13px;color:var(--text2);cursor:pointer;line-height:1.5}
.blxbk-app .blxbk-terms input{accent-color:var(--gold);width:17px;height:17px;flex:none;margin-top:1px}
.blxbk-app .blxbk-comock{margin-top:12px;padding:11px 13px;border:1px dashed var(--line2);border-radius:var(--r);
  font-size:12px;color:var(--text2);text-align:center}
@media(max-width:640px){
  .blxbk-app .blxbk-quote .qfig{font-size:36px}
  .blxbk-app .blxbk-pm .exp{display:none}
}

/* ---- identity: sign in, switch guest, guest→account loop ---- */
.blxbk-app .blxbk-signrow{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;
  padding-top:14px;border-top:1px solid var(--line2);font-size:13px;color:var(--text2)}
.blxbk-app .blxbk-signrow button{background:none;border:0;cursor:pointer;font-family:inherit;font-size:13px;
  color:var(--gold2);text-decoration:underline;padding:0}
.blxbk-app .blxbk-signbox{margin-top:12px;padding:14px;border:1px solid var(--line2);border-radius:var(--r);background:var(--surface)}
.blxbk-app .blxbk-switchwarn{margin-top:12px;padding:14px;border:1px solid rgba(224,106,91,.4);border-radius:var(--r);
  background:rgba(224,106,91,.08)}
.blxbk-app .blxbk-switchwarn b{display:block;color:#e88b7d;font-size:13.5px;margin-bottom:4px}
.blxbk-app .blxbk-switchwarn span{display:block;font-size:12.5px;color:var(--text2);line-height:1.55}
.blxbk-app .blxbk-switchwarn .row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.blxbk-app .blxbk-switchwarn button{flex:1;padding:11px;border-radius:var(--r);cursor:pointer;font-family:inherit;font-size:13px;font-weight:600}
.blxbk-app .blxbk-switchwarn .go{border:0;background:var(--gold);color:#14120c}
.blxbk-app .blxbk-switchwarn .no{border:1px solid var(--line2);background:none;color:var(--text)}
.blxbk-app .blxbk-guestcta{max-width:440px;margin:0 auto;padding:16px 18px;border:1px solid var(--goldline);
  border-radius:var(--r);background:var(--goldsoft);text-align:left}
.blxbk-app .blxbk-guestcta b{display:block;font-size:14px;color:var(--head);margin-bottom:5px;overflow-wrap:anywhere}
.blxbk-app .blxbk-guestcta span{display:block;font-size:12.5px;color:var(--text2);line-height:1.6;margin-bottom:10px}
.blxbk-app .blxbk-guestcta a{font-size:13.5px;font-weight:600;color:var(--gold2)}

/* ---- mobile: the identity, quote and checkout screens ---- */
@media(max-width:640px){
  /* identity */
  .blxbk-app .blxbk-known{padding:16px}
  .blxbk-app .blxbk-knownrow{gap:11px;margin-bottom:14px}
  .blxbk-app .blxbk-knownrow .av{width:38px;height:38px;font-size:16px}
  .blxbk-app .blxbk-knownrow .tx b{font-size:15px}
  .blxbk-app .blxbk-knownrow .tx i{font-size:12px}
  .blxbk-app .blxbk-idrow{padding:11px 12px;gap:10px;flex-wrap:wrap}
  .blxbk-app .blxbk-idrow .tx{flex:1 1 auto;min-width:0}
  .blxbk-app .blxbk-idrow .tx b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .blxbk-app .blxbk-idrow .lk{flex:0 0 auto;font-size:12px}
  .blxbk-app .blxbk-signbox{padding:12px}
  .blxbk-app .blxbk-signrow{margin-top:12px;padding-top:12px}
  .blxbk-app .blxbk-switchwarn .row{flex-direction:column}
  .blxbk-app .blxbk-switchwarn button{width:100%;padding:13px}
  /* the quote */
  .blxbk-app .blxbk-quote{padding:16px}
  .blxbk-app .blxbk-quote .qinc{gap:6px 12px}
  .blxbk-app .blxbk-quote .qinc span{font-size:11.5px}
  .blxbk-app .blxbk-booknowbtn{flex-wrap:wrap;padding:14px 15px;gap:6px}
  .blxbk-app .blxbk-booknowbtn .t{font-size:14.5px;flex:1 1 100%}
  .blxbk-app .blxbk-booknowbtn .s{flex:1 1 100%;font-size:12px}
  .blxbk-app .blxbk-booknowbtn .arw{position:absolute;right:15px;top:16px}
  .blxbk-app .blxbk-booknow{position:relative}
  /* round-trip legs */
  .blxbk-app .blxbk-leg{padding:12px}
  .blxbk-app .blxbk-leg .lr{font-size:13.5px}
  .blxbk-app .blxbk-leg .lm{font-size:11.5px}
  /* checkout */
  .blxbk-app .blxbk-cosum{padding:12px 14px}
  .blxbk-app .blxbk-cosum .row{flex-direction:column;gap:2px;padding:7px 0}
  .blxbk-app .blxbk-cosum .row .v{text-align:left}
  .blxbk-app .blxbk-cosum .row.total{flex-direction:row;align-items:center}
  .blxbk-app .blxbk-pm{padding:13px 14px;flex-wrap:wrap;gap:8px}
  .blxbk-app .blxbk-pm .num{flex:1 1 auto}
  .blxbk-app .blxbk-newcard input{font-size:16px}
  .blxbk-app .blxbk-terms{font-size:12.5px}
  /* guest → account */
  .blxbk-app .blxbk-guestcta{padding:14px 15px}
  .blxbk-app .blxbk-guestcta b{font-size:13.5px}
  .blxbk-app .blxbk-guestcta span{font-size:12px}
  /* every typed field stays at 16px so iOS never zooms mid-flow */
  .blxbk-app input,.blxbk-app select,.blxbk-app textarea{font-size:16px}
}
@media(max-width:400px){
  .blxbk-app .blxbk-seg.blxbk-svc{flex-wrap:wrap}
  .blxbk-app .blxbk-seg.blxbk-svc button{flex:1 1 100%;padding:11px 8px}
  .blxbk-app .blxbk-quote .qfig{font-size:32px}
  .blxbk-app .blxbk-idrow .lk{flex:1 1 100%;text-align:right}
}

/* ---- two intents, one footer: quote or book, same place on both screens ---- */
.blxbk-app .blxbk-cta2{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 22px;border-radius:var(--r);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;
  letter-spacing:.02em;color:var(--gold2);background:transparent;border:1px solid var(--goldline);
  margin-right:10px;transition:border-color .16s,background .16s,transform .16s;white-space:nowrap}
.blxbk-app .blxbk-cta2:hover{border-color:var(--gold);background:var(--goldsoft);transform:translateY(-1px)}
.blxbk-app .blxbk-cta2:disabled{opacity:.45;cursor:default;transform:none}
.blxbk-app .blxbk-cta2[hidden]{display:none}
@media(max-width:640px){
  .blxbk-app .blxbk-wrapf{flex-wrap:wrap;gap:8px}
  .blxbk-app .blxbk-spacer{display:none}
  .blxbk-app .blxbk-back{order:3;flex:0 0 auto}
  .blxbk-app .blxbk-cta2{order:1;flex:1 1 100%;margin-right:0;padding:13px 16px;font-size:13.5px}
  .blxbk-app .blxbk-cta{order:2;flex:1 1 100%}
}

@media(max-width:640px){
  .blxbk-app .blxbk-quote{padding:13px 14px}
  .blxbk-app .blxbk-quote .qtop{gap:10px}
  .blxbk-app .blxbk-quote .qfig{font-size:28px}
  .blxbk-app .blxbk-quote .qlbl{font-size:10px}
  .blxbk-app .blxbk-quote .qlbl i{font-size:11px}
  .blxbk-app .blxbk-quote .qinc{gap:3px 10px}
}

/* ---- review: fit the decision on one screen ---- */
.blxbk-app .blxbk-step[data-s="3"] .blxbk-summary{margin-bottom:10px}
.blxbk-app .blxbk-step[data-s="3"] .blxbk-smap{height:130px}
.blxbk-app .blxbk-step[data-s="3"] .blxbk-srow{padding:9px 16px;font-size:13px}
.blxbk-app .blxbk-step[data-s="3"] .blxbk-legs{gap:6px;margin:5px 0 8px}
.blxbk-app .blxbk-step[data-s="3"] .blxbk-leg{padding:9px 12px}
.blxbk-app .blxbk-step[data-s="3"] .blxbk-trust{margin-top:4px;padding:9px 16px 10px}
.blxbk-app .blxbk-step[data-s="3"] .blxbk-prefs{margin-top:8px}
@media(max-width:640px){
  .blxbk-app .blxbk-step[data-s="3"] .blxbk-smap{height:110px}
  .blxbk-app .blxbk-step[data-s="3"] .blxbk-srow{padding:8px 13px;font-size:12.5px}
}

/* ---- hourly charter: the duration field matches every other field ---- */
.blxbk-app .blxbk-row3.blxbk-hourly{ grid-template-columns:1fr; }
.blxbk-app .blxbk-mini select{
  width:100%; background:transparent no-repeat right 2px center; border:0; outline:none;
  color:var(--text); font-family:inherit; font-size:14.5px; font-weight:500; line-height:1.25;
  appearance:none; -webkit-appearance:none; color-scheme:dark; cursor:pointer; padding:0 22px 0 0;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23c9a227' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-size:11px 7px;
}
.blxbk-app .blxbk-mini select option{ background:#141317; color:var(--text); }
.blxbk-app .blxbk-mini label{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media(max-width:640px){
  .blxbk-app .blxbk-mini select{ font-size:16px; }
}
.blxbk-app .blxbk-quote .qsplit{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:7px;padding-top:7px;border-top:1px solid var(--line2)}
.blxbk-app .blxbk-quote .qsplit span{font-size:12px;color:var(--text2);font-variant-numeric:tabular-nums}
.blxbk-app .blxbk-quote .qsplit span::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--gold2);margin-right:6px;vertical-align:middle;opacity:.7}

/* partner referral: present, not intrusive */
.blxbk-app .blxbk-partnerbar{display:flex;align-items:center;gap:8px;padding:7px 20px;
  background:var(--goldsoft);border-bottom:1px solid var(--goldline);
  font-size:12px;letter-spacing:.02em;color:var(--text2)}
.blxbk-app .blxbk-partnerbar[hidden]{display:none}
.blxbk-app .blxbk-partnerbar b{color:var(--gold2);font-weight:600}
.blxbk-app .blxbk-partnerbar .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
@media(max-width:640px){ .blxbk-app .blxbk-partnerbar{padding:6px 14px;font-size:11.5px} }

/* ---------- phones: the funnel is thumb-run ---------- */
@media(max-width:560px){
  .blxbk-app input, .blxbk-app select{ font-size:16px; }   /* no iOS focus-zoom */
  .blxbk-seg button{ min-height:42px; }
  .blxbk-cta{ min-height:52px; }
  .blxbk-cta2{ min-height:48px; }
  .blxbk-gatebtn{ min-height:50px; }
  .blxbk-veh .blxbk-vrow{ min-height:56px; }
  .blxbk-reqs label{ min-height:46px; }
  .blxbk-back{ min-height:44px; }
  .blxbk-menu button{ min-height:48px; }
}

/* arrivals-board rows: the second line that makes the choice obvious */
.blxbk-app .blxbk-flopt{flex-wrap:wrap;}
.blxbk-app .blxbk-flopt em{flex-basis:100%;font-style:normal;font-size:11px;color:var(--text2,#8a8578);
  margin-top:2px;padding-left:72px;opacity:.9;}
.blxbk-app .blxbk-flopt em u{text-decoration:none;font-weight:700;}
.blxbk-app .blxbk-flopt em u.late{color:#b07708;}
.blxbk-app .blxbk-flopt em u.ok{color:#1e8a4c;}
.blxbk-app .blxbk-flopt.fit{box-shadow:inset 3px 0 0 #c9a227;background:rgba(201,162,39,.05);}
/* The rest of the timetable, for the guest whose flight really is hours out. */
.blxbk-app .blxbk-flmore{display:block;width:100%;padding:11px 13px;background:none;border:0;
  border-top:1px solid var(--line);font:inherit;font-size:12px;font-weight:600;
  color:var(--gold,#c9a227);cursor:pointer;text-align:center;letter-spacing:.02em;}
.blxbk-app .blxbk-flmore:hover{background:rgba(201,162,39,.08);}
.blxbk-app .blxbk-flopt.fit:hover{background:rgba(201,162,39,.11);}
.blxbk-app .blxbk-flopt i.dim{opacity:.5;font-weight:400;}

/* The consent sentence under the mobile field. Quiet — it is a legal
   requirement, not a selling point, and the guest is here to book a car. */
.blxsm-optin{ margin:7px 2px 0; font-size:10.5px; line-height:1.5; opacity:.62; }
