/*!
 * B-LineXpress — customer account / My Tours dashboard
 * Version: 0.2.0  (relies on brand tokens from blinexpress.css)
 */
/* Generous below as well as above: the page used to stop dead at the last
   card and hand straight over to the footer, which reads as running out
   rather than ending. */
.blxb-acc{padding:clamp(40px,6vw,80px) 0 clamp(90px,12vw,160px);min-height:60vh;}
.blxb-acc .wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
.blxb-acc-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:34px;}
.blxb-acc-head h1{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:clamp(30px,4vw,46px);color:var(--heading,#f3f1ec);margin:8px 0 0;}
.blxb-acc-boot{color:var(--muted,#8d8a82);}

/* auth */
.blxb-auth{display:flex;align-items:center;justify-content:center;}
.blxb-auth-card{max-width:440px;margin:0 auto;width:100%;background:var(--panel,#0c0c0b);border:1px solid var(--line-2,#26241f);
  border-radius:10px;padding:clamp(28px,4vw,42px);box-shadow:0 30px 70px -30px rgba(0,0,0,.8);}
.blxb-auth-card h1{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:clamp(30px,4vw,40px);color:var(--heading,#f3f1ec);margin:8px 0 0;}
.blxb-auth-sub{color:var(--muted,#8d8a82);font-size:14px;line-height:1.6;margin:12px 0 22px;}
.blxb-auth-err{background:#3a1c1d;border:1px solid #5c2b2e;color:#ff8a7a;font-size:13.5px;padding:11px 14px;border-radius:8px;margin-bottom:18px;}
.blxb-auth-tabs{display:flex;gap:8px;margin-bottom:22px;}
.blxb-tab{flex:1;background:var(--bg,#0a0a0a);border:1px solid var(--line,#1c1b18);color:#cfccc4;font:inherit;font-size:12.5px;
  letter-spacing:.1em;text-transform:uppercase;padding:11px;border-radius:8px;cursor:pointer;transition:all .2s;}
.blxb-tab.is-active{background:var(--gold,#c9a227);color:#0a0a0a;border-color:var(--gold,#c9a227);font-weight:700;}
.blxb-auth-form label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#8d8a82);margin:14px 0 7px;}
.blxb-auth-form input{width:100%;background:var(--bg,#0a0a0a);border:1px solid #2a2823;border-radius:6px;color:#f0eee8;font:inherit;font-size:16px;padding:12px 13px;outline:none;}
.blxb-auth-form input:focus{border-color:var(--gold,#c9a227);}
.blxb-auth-form .btn{width:100%;justify-content:center;margin-top:20px;}
.blxb-forgot{display:block;text-align:center;color:var(--muted,#8d8a82);font-size:12.5px;margin-top:14px;text-decoration:none;}
.blxb-forgot:hover{color:var(--gold,#c9a227);}
.blxb-fineprint{color:#6f6c64;font-size:12px;text-align:center;margin:14px 0 0;}

/* dashboard cards */
.blxb-acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;}
.blxb-acc-card{background:var(--panel,#0c0c0b);border:1px solid var(--line,#1c1b18);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;}
.blxb-acc-card:hover{border-color:var(--gold,#c9a227);transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(0,0,0,.8);}
.blxb-acc-card .pic{height:140px;background:linear-gradient(160deg,#161513,#0d0d0c);position:relative;overflow:hidden;}
.blxb-acc-card .pic img{width:100%;height:100%;object-fit:cover;}
.blxb-acc-card .body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1;}
.blxb-acc-card h3{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:21px;color:var(--heading,#f3f1ec);margin:0;}
.blxb-acc-card .meta{font-size:13px;color:var(--muted,#8d8a82);}
.blxb-acc-card .foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;}
.blxb-status{font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:999px;border:1px solid;white-space:nowrap;}
.blxb-empty{text-align:center;padding:50px 20px;color:var(--muted,#8d8a82);}
.blxb-empty .btn{margin-top:18px;}

/* drawer (customer) */
.blxb-acc-overlay{position:fixed;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:99998;}
.blxb-acc-overlay.open{opacity:1;pointer-events:auto;}
.blxb-acc-drawer{position:fixed;top:0;right:0;height:100vh;width:min(520px,96vw);background:var(--panel,#0c0c0b);border-left:1px solid var(--line,#1c1b18);
  box-shadow:0 0 80px rgba(0,0,0,.7);transform:translateX(102%);transition:transform .3s cubic-bezier(.22,1,.36,1);z-index:99999;display:flex;flex-direction:column;}
.blxb-acc-drawer.open{transform:none;}
.blxb-acc-drawer .dh{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 24px;border-bottom:1px solid var(--line,#1c1b18);}
.blxb-acc-drawer .dh h2{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:23px;color:var(--heading,#f3f1ec);margin:5px 0 0;}
.blxb-acc-drawer .db{flex:1;overflow-y:auto;padding:22px 24px;}
.blxb-x{background:none;border:0;color:var(--muted,#8d8a82);font-size:26px;line-height:1;cursor:pointer;}
.blxb-x:hover{color:#fff;}
.blxb-facts2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px;}
.blxb-facts2 .f{background:var(--bg,#0a0a0a);border:1px solid var(--line,#1c1b18);border-radius:8px;padding:12px 13px;}
.blxb-facts2 .f .k{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#8d8a82);}
.blxb-facts2 .f .v{color:#e8e6e1;font-size:14px;margin-top:5px;}
/* flight watch — the guest sees what we see, and that we're watching */
.blxb-facts2 .f:has(.blxb-flstat),.blxb-facts2 .f:has(.blxb-flnote){grid-column:1 / -1;}
.blxb-flstat{display:block;font-weight:700;}
.blxb-flnum{color:inherit;text-decoration:none;border-bottom:1px dashed currentColor;padding-bottom:1px;white-space:nowrap;}
.blxb-flnum .ext{font-size:.78em;margin-left:3px;opacity:.7;vertical-align:1px;}
.blxb-flnum:hover{opacity:.82;}
.blxb-flnote{display:block;margin-top:4px;font-size:12px;color:var(--muted,#8d8a82);line-height:1.45;}
.blxb-acc-h{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#c9a227);margin:22px 0 12px;}
.blxb-thread{display:flex;flex-direction:column;gap:10px;}
.blxb-bubble{max-width:88%;padding:10px 13px;border-radius:11px;font-size:13.5px;line-height:1.55;}
.blxb-bubble.me{align-self:flex-end;background:var(--gold,#c9a227);color:#0a0a0a;}
.blxb-bubble.staff{align-self:flex-start;background:var(--bg,#0a0a0a);border:1px solid var(--line,#1c1b18);color:#e8e6e1;}
.blxb-bubble .who{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-bottom:3px;}
.blxb-acc-field{margin:10px 0;}
.blxb-acc-field label{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#8d8a82);margin-bottom:6px;}
.blxb-acc-field input,.blxb-acc-field textarea{width:100%;background:var(--bg,#0a0a0a);border:1px solid #2a2823;border-radius:7px;color:#f0eee8;font:inherit;font-size:16px;padding:11px 12px;outline:none;resize:vertical;}
.blxb-acc-field input:focus,.blxb-acc-field textarea:focus{border-color:var(--gold,#c9a227);}
.blxb-msgrow{display:flex;gap:10px;margin-top:10px;}
.blxb-msgrow input{flex:1;}
.blxb-acc-drawer .df{display:flex;gap:10px;align-items:center;padding:16px 24px;border-top:1px solid var(--line,#1c1b18);flex-wrap:wrap;}
.blxb-acc-drawer .df .spacer{flex:1;}
.blxb-toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(20px);background:#15140f;border:1px solid var(--gold,#c9a227);color:var(--gold-2,#e3c25a);padding:13px 22px;border-radius:10px;font-size:13px;opacity:0;pointer-events:none;transition:all .25s;z-index:100000;}
.blxb-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.blxb-toast.err{border-color:#e06a5b;color:#ff8a7a;}
.blxb-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.25);border-top-color:#0a0a0a;border-radius:50%;animation:blxbsp .7s linear infinite;}
@keyframes blxbsp{to{transform:rotate(360deg);}}
@media(max-width:560px){.blxb-facts2{grid-template-columns:1fr;}}

/* admin view-as banner */
.blxb-viewbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:linear-gradient(135deg,rgba(201,162,39,.16),rgba(201,162,39,.05));border:1px solid var(--line-2,#26241f);
  border-radius:10px;padding:12px 16px;margin-bottom:22px;font-size:13.5px;color:#e8e6e1;}
.blxb-viewbar strong{color:var(--gold,#c9a227);letter-spacing:.06em;text-transform:uppercase;font-size:11px;}
.blxb-viewbar a{color:var(--gold,#c9a227);text-decoration:none;font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}
.blxb-viewbar a:hover{color:var(--gold-2,#e3c25a);}

/* ---------- Payment method (wallet) ---------- */
.blxb-wallet{background:var(--panel,#0c0c0b);border:1px solid var(--line-2,#26241f);border-radius:14px;padding:24px;margin:0 0 28px;}
.blxb-wallet-head .eyebrow{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold,#c9a227);}
.blxb-cc{background:linear-gradient(135deg,#1a1814,#0c0c0b);border:1px solid #2a2823;border-radius:14px;padding:20px;margin:14px 0 12px;max-width:360px;}
.blxb-cc-brand{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2,#e3c25a);}
.blxb-cc-num{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:19px;color:#f3f1ec;margin:16px 0;letter-spacing:.06em;}
.blxb-cc-foot{display:flex;justify-content:space-between;font-size:12.5px;color:#a6a39b;}
.blxb-cardform label{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted,#8d8a82);margin:14px 0 6px;}
.blxb-cardform input{width:100%;background:var(--bg,#0a0a0a);border:1px solid #2a2823;border-radius:8px;color:#f0eee8;font:inherit;font-size:15px;padding:12px 13px;outline:none;}
.blxb-cardform input:focus{border-color:var(--gold,#c9a227);}
.blxb-cc-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.blxb-cardform .btn{margin-top:18px;width:100%;justify-content:center;}
.blxb-wallet-note{color:#6f6c64;font-size:12px;margin:12px 0 0;}
.blxb-link-btn{background:none;border:0;color:#e06a5b;font:inherit;font-size:13px;cursor:pointer;padding:0;text-decoration:underline;}

/* ===== My Account — booking cards + detail (v0.3.0) ===== */
.blxb-acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;}
.blxb-acc-card{background:var(--panel,#0c0c0b);border:1px solid var(--line-2,#26241f);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;flex-direction:column;}
.blxb-acc-card:hover{transform:translateY(-4px);border-color:var(--gold,#c9a227);box-shadow:0 30px 60px -34px rgba(0,0,0,.85);}
.blxb-acc-card .thumb{position:relative;height:150px;background:linear-gradient(140deg,#1a1814,#0c0c0b);overflow:hidden;}
.blxb-acc-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
/* No route to draw — a tour, or a trip with one end still unknown. It keeps a
   band of its own so a grid of cards stays a grid rather than a ragged stack. */
.blxb-acc-card.noimg .thumb{min-height:96px;background:radial-gradient(700px 200px at 70% -20%,rgba(201,162,39,.18),transparent 60%),linear-gradient(140deg,#1a1814,#0c0c0b);}
.blxb-acc-card.tour .thumb:after{content:"✦";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(201,162,39,.4);font-size:40px;}
.blxb-acc-card .cardstat{position:absolute;top:10px;left:10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid;background:rgba(10,10,10,.7);backdrop-filter:blur(4px);}
.blxb-acc-card .body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}
.blxb-acc-card .body h3{font-family:var(--serif,'Cormorant Garamond',serif);font-weight:600;font-size:20px;color:var(--heading,#f3f1ec);margin:0;line-height:1.15;}
.blxb-acc-card .sub{font-size:13px;color:#cfccc4;}
.blxb-acc-card .sub .arr,.blxb-acc-banner .arr{color:var(--gold,#c9a227);}
.blxb-acc-card .meta{font-size:12px;color:#8d8a82;}
.blxb-acc-card .foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px;flex-wrap:wrap;}
.blxb-acc-card .foot .price{font-size:13px;color:#e3c25a;font-weight:600;}

.blxb-paypill{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid #3a3833;color:#cfccc4;}
.blxb-paypill.ok{color:#7fd49a;border-color:rgba(92,184,122,.5);background:rgba(92,184,122,.12);}
.blxb-changeflag{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#e3c25a;border:1px solid rgba(201,162,39,.4);border-radius:999px;padding:3px 8px;}

/* detail banner + route */
.blxb-acc-banner{position:relative;height:190px;margin:-22px -24px 18px;background-size:cover;background-position:center;background-color:#0e0e0c;}
.blxb-acc-banner.nomap{background:linear-gradient(160deg,#181520 0%,#0e0e0c 70%);}
.blxb-acc-banner .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.2),rgba(10,10,10,.9));}
.blxb-acc-banner .leg{position:absolute;left:24px;right:24px;bottom:14px;color:#f6f3ec;font-family:var(--serif,'Cormorant Garamond',serif);font-size:21px;line-height:1.25;overflow-wrap:anywhere;}
.blxb-acc-route{display:flex;flex-direction:column;margin:0 0 18px;}
.blxb-acc-route .rs{position:relative;display:grid;grid-template-columns:22px 1fr;gap:10px;padding:6px 0;}
.blxb-acc-route .rs i{width:10px;height:10px;border-radius:50%;background:#e3c25a;border:2px solid #0c0c0b;box-shadow:0 0 0 1px #c9a227;margin:5px auto 0;}
.blxb-acc-route .rs.o i{background:#5cb87a;box-shadow:0 0 0 1px #5cb87a;}
.blxb-acc-route .rs.d i{border-radius:50% 50% 50% 0;transform:rotate(45deg);background:#c9a227;}
.blxb-acc-route .rs::before{content:"";position:absolute;left:10px;top:-4px;height:13px;width:2px;background:repeating-linear-gradient(#3a3833 0 4px,transparent 4px 8px);}
.blxb-acc-route .rs:first-child::before{display:none;}
.blxb-acc-route .rs .k{display:block;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#7d7a72;}
.blxb-acc-route .rs .a{font-size:13.5px;color:#e8e6e1;}
.blxb-change-banner{background:rgba(201,162,39,.1);border:1px solid rgba(201,162,39,.35);border-radius:10px;padding:11px 14px;color:#e3c25a;font-size:12.5px;line-height:1.5;margin:0 0 16px;}
.blxb-acc-sub{color:#8d8a82;font-size:12.5px;margin:0 0 12px;}
.blxb-acc-2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}

/* v0.9.9: quieter drawer, no nested scrollbars, mobile-first sheet */
html.blxb-acc-lock, html.blxb-acc-lock body{ overflow:hidden; }
.blxb-acc-drawer{ overflow-x:hidden; }
.blxb-acc-drawer .db{ overscroll-behavior:contain; }
.blxb-acc-drawer .db > *{ max-width:100%; }
.blxb-acc-fold{ border-top:1px solid var(--line,#1c1b18); margin-top:18px; padding-top:6px; }
.blxb-acc-fold > summary{ cursor:pointer; list-style:none; padding:12px 0; font-size:11px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold,#c9a227); display:flex; align-items:center; justify-content:space-between; }
.blxb-acc-fold > summary::-webkit-details-marker{ display:none; }
.blxb-acc-fold > summary::after{ content:"\203A"; font-size:18px; transition:transform .2s ease; color:#8d8a83; }
.blxb-acc-fold[open] > summary::after{ transform:rotate(90deg); }
.blxb-acc-drawer .blxb-thread{ max-height:none; }
.blxb-change-banner{ overflow-wrap:anywhere; }
@media(max-width:640px){
  .blxb-acc-drawer{ width:100vw; border-left:0; }
  .blxb-acc-drawer .dh{ padding:16px 18px; }
  .blxb-acc-drawer .dh h2{ font-size:20px; }
  .blxb-acc-drawer .db{ padding:18px; }
  .blxb-acc-banner{ height:150px; margin:-18px -18px 16px; }
  .blxb-acc-banner .leg{ left:18px; right:18px; font-size:18px; }
  .blxb-acc-2{ grid-template-columns:1fr; }
  .blxb-facts2{ grid-template-columns:1fr 1fr; }
  .blxb-acc-drawer .df{ padding:12px 18px; gap:8px; }
  .blxb-acc-drawer .df .blx.btn{ flex:1 1 auto; text-align:center; }
  .blxb-acc-drawer .df .spacer{ display:none; }
  .blxb-msgrow{ flex-wrap:wrap; }
  .blxb-msgrow input{ flex:1 1 100%; font-size:16px; }
}

/* v0.9.10: the trips are the showcase */
.blxb-showcase{ display:flex; align-items:flex-end; justify-content:space-between; gap:18px; flex-wrap:wrap;
  margin:6px 0 22px; padding-bottom:18px; border-bottom:1px solid var(--line,#1c1b18); }
.blxb-showcase .eyebrow{ display:block; font-size:10.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold,#c9a227); }
.blxb-showcase h2.serif{ font-family:var(--serif,'Cormorant Garamond',serif); font-weight:600; font-size:clamp(26px,4vw,38px);
  color:var(--heading,#f3f1ec); margin:8px 0 6px; }
.blxb-showcase .tally{ margin:0; font-size:12.5px; letter-spacing:.04em; color:#8d8a83; }
.blxb-acc-drawer.wallet .db{ padding-top:8px; }
.blxb-acc-drawer.wallet .blxb-wallet{ border:0; padding:0; margin:0; background:none; }
@media(max-width:640px){
  .blxb-showcase{ align-items:flex-start; }
  .blxb-showcase .blx.btn{ width:100%; text-align:center; }
}

/* v0.10.0: one header, trips as full subpages */
.blxb-showcase h1.serif{ font-family:var(--serif,'Cormorant Garamond',serif); font-weight:600; font-size:clamp(30px,5vw,46px);
  color:var(--heading,#f3f1ec); margin:10px 0 8px; }
.blxb-showacts{ display:flex; gap:10px; flex-wrap:wrap; }
.blxb-acc-detailhead{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin:4px 0 18px; }
.blxb-acc-hero{ position:relative; border-radius:16px; overflow:hidden; margin-bottom:22px; background:#0e0e0c; }
.blxb-acc-hero img{ width:100%; height:clamp(200px,34vh,340px); object-fit:cover; display:block; }
.blxb-acc-hero .scrim{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,10,10,.15),rgba(10,10,10,.88)); }
.blxb-acc-hero .cap{ position:absolute; left:26px; right:26px; bottom:20px; }
.blxb-acc-hero .cap h1{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:clamp(26px,4vw,38px); color:#f6f3ec; margin:0 0 4px; }
.blxb-acc-hero .cap p{ margin:0; color:#c9c5bc; font-size:14.5px; overflow-wrap:anywhere; }
.blxb-acc-hero .cap .arr{ color:var(--gold,#c9a227); }
.blxb-acc-detailtitle h1{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:clamp(26px,4vw,38px); color:var(--heading,#f3f1ec); margin:0 0 18px; }
.blxb-acc-cols{ display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:22px; align-items:start; }
.blxb-acc-colmain{ min-width:0; display:flex; flex-direction:column; gap:18px; }
.blxb-acc-panel{ border:1px solid var(--line,#1c1b18); border-radius:14px; padding:18px 20px; background:rgba(255,255,255,.015); }
.blxb-acc-panel h3{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:19px; color:var(--heading,#f3f1ec); margin:0 0 12px; font-weight:600; }
.blxb-acc-colside .blxb-acc-panel{ position:sticky; top:20px; }
.blxb-cancelbtn{ width:100%; margin-top:14px; border-color:#5c2b2e !important; color:#e06a5b !important; }
@media(max-width:900px){
  .blxb-acc-cols{ grid-template-columns:1fr; }
  .blxb-acc-colside .blxb-acc-panel{ position:static; }
}
@media(max-width:640px){
  .blxb-showcase{ flex-direction:column; align-items:flex-start; }
  .blxb-showacts{ width:100%; }
  .blxb-showacts .blx.btn{ flex:1; text-align:center; }
  .blxb-acc-hero .cap{ left:16px; right:16px; bottom:14px; }
  .blxb-acc-panel{ padding:16px; }
}

/* live Google directions */
.blxb-mapframe{ width:100%; height:100%; border:0; display:block; pointer-events:none; filter:saturate(.85) contrast(1.02); }
.blxb-acc-card .thumb{ position:relative; overflow:hidden; }
.blxb-acc-hero.live{ height:clamp(240px,40vh,420px); }
.blxb-heroframe{ width:100%; height:100%; border:0; display:block; }
.blxb-acc-detailtitle .legline{ margin:6px 0 16px; color:#b9b5ac; font-size:14.5px; overflow-wrap:anywhere; }
.blxb-acc-detailtitle .legline .arr{ color:var(--gold,#c9a227); }
.blxb-acc-card .thumb.pending, .blxb-acc-hero.pending{ position:relative; background:#111; }
.blxb-acc-hero.pending .wait, .blxb-acc-card .thumb .wait{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:#6f6c66; font-size:11px; letter-spacing:.22em; text-transform:uppercase; }
.blxb-acc-hero.pending img[data-blxroute]:not([src]){ opacity:0; }
.blxb-acc-hero.live{ height:clamp(300px,46vh,480px); position:relative; }
.blxb-livemap{ width:100%; height:100%; }
.blxb-exact{ border:1px solid var(--gold-line,rgba(201,162,39,.4)); background:rgba(201,162,39,.07); border-radius:14px; padding:20px; }
.blxb-exact h3{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:21px; color:var(--gold,#c9a227); margin:0 0 8px; }
.blxb-exact p{ margin:0 0 14px; color:#b9b5ac; font-size:13.5px; line-height:1.6; }
.blxb-exact .blxb-acc-field{ margin-bottom:12px; }
.blxb-addrflag{ display:inline-block; padding:3px 10px; border-radius:999px; font-size:10.5px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--gold,#c9a227); border:1px solid rgba(201,162,39,.45); background:rgba(201,162,39,.09); }

/* request-changes drawer in the sidebar */
.blxb-chgbtn{ width:100%; margin-top:14px; display:flex !important; align-items:center; justify-content:space-between; gap:10px; }
.blxb-chgbtn .chev{ transition:transform .22s ease; color:var(--gold,#c9a227); font-size:17px; line-height:1; }
.blxb-chgbtn.open .chev{ transform:rotate(90deg); }
.blxb-chgdrawer{ margin-top:12px; padding:14px; border:1px solid var(--gold-line,rgba(201,162,39,.32)); border-radius:12px;
  background:rgba(201,162,39,.05); animation:blxbSlide .22s ease both; }
.blxb-chgdrawer[hidden]{ display:none; }
.blxb-chgdrawer .blxb-acc-sub{ margin:0 0 12px; font-size:12.5px; line-height:1.55; }
.blxb-chgdrawer .blxb-acc-2{ grid-template-columns:1fr; }
.blxb-chgdrawer .blxb-acc-field{ margin-bottom:10px; }
.blxb-chgdrawer .blx.btn{ width:100%; text-align:center; }
@keyframes blxbSlide{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }

/* live re-quote inside the change drawer */
.blxb-requote{ margin:4px 0 12px; padding:12px 14px; border-radius:10px; background:rgba(255,255,255,.03);
  border:1px solid var(--line-2,#26251f); font-size:13.5px; line-height:1.5; }
.blxb-requote[hidden]{ display:none; }
.blxb-requote b{ font-size:17px; color:var(--heading,#f3f1ec); font-variant-numeric:tabular-nums; }
.blxb-requote b.up{ color:#e0b64a; }
.blxb-requote b.down{ color:#7fd49a; }
.blxb-requote span{ color:#b9b5ac; font-size:12.5px; margin-left:6px; }
.blxb-requote .cls{ margin-top:4px; font-size:12.5px; color:var(--gold,#c9a227); }
.blxb-requote i{ display:block; margin-top:6px; font-style:normal; font-size:11.5px; color:#8d8a83; line-height:1.5; }
.blxb-requote .calc{ color:#8d8a83; font-size:12.5px; }

/* consolidated location line above the map */
.blxb-legline{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:8px 0 16px; }
.blxb-legline .pt{ display:inline-flex; align-items:center; gap:8px; color:var(--heading,#f3f1ec); font-size:14.5px; }
.blxb-legline .pt i{ width:9px; height:9px; border-radius:50%; background:transparent; border:2px solid var(--gold,#c9a227); flex:none; }
.blxb-legline .pt.a i{ background:#5cb87a; border-color:#5cb87a; }
.blxb-legline .pt.b i{ background:var(--gold,#c9a227); }
.blxb-legline .arr{ color:var(--gold,#c9a227); }
.blxb-legline .meta{ color:#8d8a83; font-size:12.5px; letter-spacing:.03em; }
.blxb-chgbtn .cnt{ margin-left:6px; padding:1px 7px; border-radius:999px; font-size:11px;
  background:rgba(201,162,39,.16); color:var(--gold,#c9a227); }
#msg-drawer .blxb-thread{ max-height:280px; overflow-y:auto; margin-bottom:10px; }
#msg-drawer .blxb-msgrow{ display:flex; gap:8px; flex-wrap:wrap; }
#msg-drawer .blxb-msgrow input{ flex:1 1 100%; font-size:16px; }

/* ---- concierge thread: floating message bubbles ---- */
#msg-drawer{ padding:0 !important; background:rgba(255,255,255,.02) !important; border-color:var(--line-2,#26251f) !important; overflow:hidden; }
#msg-drawer .blxb-thread{ display:flex; flex-direction:column; gap:3px; padding:14px 14px 6px; max-height:320px; overflow-y:auto;
  margin:0; overscroll-behavior:contain; scrollbar-width:thin; }
.blxb-bub{ display:flex; flex-direction:column; max-width:86%; }
.blxb-bub.me{ align-self:flex-end; align-items:flex-end; }
.blxb-bub.them{ align-self:flex-start; align-items:flex-start; }
.blxb-bub.head{ margin-top:10px; }
.blxb-bub .from{ font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold,#c9a227); margin:0 0 4px 12px; }
.blxb-bub .msg{ position:relative; padding:9px 13px 9px; border-radius:18px; font-size:13.5px; line-height:1.5; }
.blxb-bub.me .msg{ background:linear-gradient(180deg,#d7b44f,#c19a26); color:#14120c; border-bottom-right-radius:5px; }
.blxb-bub.them .msg{ background:#1b1a17; border:1px solid var(--line-2,#26251f); color:#eae7e0; border-bottom-left-radius:5px; }
.blxb-bub.me:not(.head) .msg{ border-bottom-right-radius:5px; border-top-right-radius:5px; }
.blxb-bub.them:not(.head) .msg{ border-bottom-left-radius:5px; border-top-left-radius:5px; }
.blxb-bub .t{ display:block; margin-top:4px; font-size:10.5px; opacity:.6; }
.blxb-bubempty{ display:flex; align-items:center; gap:9px; padding:22px 16px; color:#8d8a83; font-size:13px; justify-content:center; text-align:center; }
.blxb-bubempty .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold,#c9a227); opacity:.5; flex:none; }
.blxb-composer{ display:flex; align-items:center; gap:8px; padding:10px 12px; border-top:1px solid var(--line-2,#26251f);
  background:rgba(0,0,0,.25); }
.blxb-composer input{ flex:1; min-width:0; background:#141310; border:1px solid var(--line-2,#26251f); color:#eae7e0;
  border-radius:999px; padding:10px 15px; font-size:14px; font-family:inherit; outline:none; transition:border-color .18s; }
.blxb-composer input:focus{ border-color:var(--gold-line,rgba(201,162,39,.5)); }
.blxb-composer input::placeholder{ color:#6f6c66; }
.blxb-sendbtn{ flex:none; width:38px; height:38px; border-radius:50%; border:0; cursor:pointer;
  background:linear-gradient(180deg,#d7b44f,#c19a26); color:#14120c; display:flex; align-items:center; justify-content:center;
  transition:transform .16s, filter .16s; }
.blxb-sendbtn svg{ width:17px; height:17px; margin-left:-1px; }
.blxb-sendbtn:hover{ transform:translateY(-1px); filter:brightness(1.06); }
.blxb-sendbtn:disabled{ opacity:.5; cursor:default; transform:none; }
@media(max-width:640px){ #msg-drawer .blxb-thread{ max-height:44vh; } .blxb-composer input{ font-size:16px; } }

/* re-plan (change request) entry + zone guard + widget overlay */
.blxb-replan{ margin:0; }
.blxb-replanbtn{ display:flex; align-items:center; gap:14px; width:100%; padding:18px 20px; cursor:pointer;
  background:rgba(201,162,39,.06); border:1px solid var(--gold-line,rgba(201,162,39,.34)); border-radius:14px;
  color:var(--heading,#f3f1ec); font-family:inherit; text-align:left; transition:border-color .18s, background .18s; }
.blxb-replanbtn:hover{ background:rgba(201,162,39,.1); border-color:rgba(201,162,39,.6); }
.blxb-replanbtn .ic{ width:38px; height:38px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center;
  background:rgba(201,162,39,.14); color:var(--gold,#c9a227); font-size:17px; }
.blxb-replanbtn .tx{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.blxb-replanbtn .tx b{ font-size:15px; font-weight:600; }
.blxb-replanbtn .tx i{ font-style:normal; font-size:12.5px; color:#b9b5ac; line-height:1.5; }
.blxb-replanbtn .chev{ margin-left:auto; color:var(--gold,#c9a227); font-size:20px; flex:none; }
.blxb-zonewarn{ margin:2px 0 12px; padding:14px; border-radius:12px; border:1px solid rgba(224,106,91,.45);
  background:rgba(224,106,91,.08); display:flex; flex-direction:column; gap:8px; }
.blxb-zonewarn[hidden]{ display:none; }
.blxb-zonewarn b{ color:#e88b7d; font-size:13.5px; }
.blxb-zonewarn span{ color:#b9b5ac; font-size:12.5px; line-height:1.55; }
.blxb-zonewarn .blx.btn{ align-self:flex-start; }
.blxb-amend{ position:fixed; inset:0; z-index:100000; background:rgba(6,6,6,.94); display:flex; flex-direction:column;
  opacity:0; transition:opacity .28s ease; }
.blxb-amend.open{ opacity:1; }
.blxb-amend .bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px;
  border-bottom:1px solid var(--line,#1c1b18); color:var(--gold,#c9a227); font-size:11px; letter-spacing:.24em; text-transform:uppercase; }
.blxb-amend .x{ background:none; border:0; color:#cfccc4; font-size:26px; line-height:1; cursor:pointer; padding:0 4px; }
.blxb-amend .x:hover{ color:var(--gold,#c9a227); }
.blxb-amend iframe{ flex:1; width:100%; border:0; display:block; }

/* ---- edit booking: differences, not prices ---- */
.blxb-edit{ border:1px solid var(--gold-line,rgba(201,162,39,.34)); border-radius:16px; overflow:hidden;
  background:rgba(201,162,39,.04); margin-bottom:18px; }
.blxb-edithead{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:18px 20px 14px;
  border-bottom:1px solid var(--line-2,#26251f); }
.blxb-edithead .eyebrow{ font-size:10px; letter-spacing:.26em; text-transform:uppercase; color:var(--gold,#c9a227); }
.blxb-edithead h3{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:21px; color:var(--heading,#f3f1ec); margin:6px 0 0; font-weight:600; }
.blxb-editx{ background:none; border:0; color:#8d8a83; font-size:24px; line-height:1; cursor:pointer; padding:0 2px; }
.blxb-editx:hover{ color:var(--gold,#c9a227); }
.blxb-editbody{ padding:16px 20px 4px; }
.blxb-editlbl{ margin:6px 0 10px; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:#8d8a83; }
.blxb-editlbl i{ font-style:normal; letter-spacing:0; text-transform:none; color:var(--gold,#c9a227); font-size:11.5px; }
.blxb-clsgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; margin-bottom:16px; }
.blxb-clscard{ display:flex; flex-direction:column; gap:4px; padding:13px 14px; cursor:pointer; text-align:left;
  background:rgba(255,255,255,.02); border:1px solid var(--line-2,#26251f); border-radius:12px; color:var(--heading,#f3f1ec);
  font-family:inherit; transition:border-color .16s, background .16s; }
.blxb-clscard:hover{ border-color:rgba(201,162,39,.5); }
.blxb-clscard.on{ border-color:var(--gold,#c9a227); background:rgba(201,162,39,.1); }
.blxb-clscard[disabled]{ opacity:.4; cursor:not-allowed; }
.blxb-clscard .nm{ font-size:15px; font-weight:600; }
.blxb-clscard .cap{ font-size:11.5px; color:#8d8a83; }
.blxb-clscard .d{ font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; margin-top:2px; }
.blxb-clscard .d.up{ color:#e0b64a; } .blxb-clscard .d.down{ color:#7fd49a; } .blxb-clscard .d.same{ color:#8d8a83; font-size:12px; font-weight:500; }
.blxb-editfoot{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:16px 20px;
  border-top:1px solid var(--line-2,#26251f); background:rgba(0,0,0,.25); }
.blxb-editfoot .sum{ display:flex; flex-direction:column; gap:2px; flex:1; min-width:0; }
.blxb-editfoot .sum .k{ font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:#8d8a83; }
.blxb-editfoot .sum .big{ font-size:26px; font-weight:700; letter-spacing:-.02em; color:var(--heading,#f3f1ec); font-variant-numeric:tabular-nums; }
.blxb-editfoot .sum .big.up{ color:#e0b64a; } .blxb-editfoot .sum .big.down{ color:#7fd49a; }
.blxb-editfoot .sum .sub{ font-size:12px; color:#8d8a83; }
.blxb-editfoot .blx.btn{ flex:none; }
@media(max-width:640px){
  .blxb-editfoot{ flex-direction:column; align-items:stretch; }
  .blxb-editfoot .blx.btn{ width:100%; text-align:center; }
}

/* form fields: selects, date/time and number match the text inputs */
.blxb-acc-field select,
.blxb-acc-field input[type="date"],
.blxb-acc-field input[type="time"],
.blxb-acc-field input[type="number"],
.blxb-edit select,
.blxb-edit input[type="date"],
.blxb-edit input[type="time"],
.blxb-edit input[type="number"]{
  width:100%; box-sizing:border-box; appearance:none; -webkit-appearance:none;
  background:#111 no-repeat right 13px center; color:var(--heading,#f3f1ec);
  border:1px solid var(--line-2,#26251f); border-radius:10px; padding:12px 14px; font-size:15px;
  font-family:inherit; line-height:1.3; outline:none; color-scheme:dark; transition:border-color .16s;
}
.blxb-acc-field select:focus,
.blxb-acc-field input:focus,
.blxb-edit select:focus,
.blxb-edit input:focus{ border-color:var(--gold-line,rgba(201,162,39,.5)); }
.blxb-acc-field select,
.blxb-edit select{
  padding-right:38px; cursor:pointer;
  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:12px 8px;
}
.blxb-edit input[type="date"]::-webkit-calendar-picker-indicator,
.blxb-edit input[type="time"]::-webkit-calendar-picker-indicator{ filter:invert(72%) sepia(45%) saturate(600%) hue-rotate(3deg); cursor:pointer; }
.blxb-edit input[type="number"]::-webkit-outer-spin-button,
.blxb-edit input[type="number"]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.blxb-edit input[type="number"]{ -moz-appearance:textfield; }
@media(max-width:640px){
  .blxb-acc-field select,.blxb-acc-field input,.blxb-edit select,.blxb-edit input{ font-size:16px; }
}

/* price reasoning + route preview inside the editor */
.blxb-emap{ margin:4px 0 14px; }
.blxb-emapinner{ width:100%; height:190px; border-radius:12px; overflow:hidden; border:1px solid var(--line-2,#26251f); background:#111; }
.blxb-why{ width:100%; margin:0 0 12px; border:1px solid var(--line-2,#26251f); border-radius:10px; background:rgba(255,255,255,.02); }
.blxb-why > summary{ cursor:pointer; list-style:none; padding:10px 13px; font-size:11.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--gold,#c9a227); }
.blxb-why > summary::-webkit-details-marker{ display:none; }
.blxb-why[open] > summary{ border-bottom:1px solid var(--line-2,#26251f); }
.blxb-why dl{ display:grid; grid-template-columns:auto 1fr; gap:6px 14px; margin:0; padding:12px 13px; }
.blxb-why dt{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#8d8a83; }
.blxb-why dd{ margin:0; font-size:13px; color:var(--heading,#f3f1ec); overflow-wrap:anywhere; }

/* trip-card maps: real routes, plain Google styling, not interactive */
.blxb-acc-card .thumb{ position:relative; overflow:hidden; background:#0f0f0e; }
.blxb-cardmap{ width:100%; height:100%; min-height:190px; pointer-events:none; }
.blxb-acc-card .thumb .cardstat{ z-index:2; }
.blxb-acc-card .thumb .gm-style-cc, .blxb-acc-card .thumb .gmnoprint{ display:none !important; }

/* ---- card actions: one visual language ----
   Price, both actions and the address prompt share a scale, a radius family,
   a border and a hover, so the footer reads as one row instead of four ideas. */
.blxb-acc-card .foot{ flex-wrap:wrap; row-gap:10px; align-items:center; }
.blxb-acc-card .foot .price{ flex:0 0 auto; font-size:13px; font-weight:600; letter-spacing:.01em;
  color:var(--gold,#c9a227); font-variant-numeric:tabular-nums; }
.blxb-acc-card .foot .acts{ display:flex; align-items:center; gap:8px; margin-left:auto; flex-wrap:wrap; }

.blxb-cardbtn, .blxb-acc-card .foot .cardbtn{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  padding:8px 14px; border-radius:999px; cursor:pointer; white-space:nowrap;
  font-family:inherit; font-size:12.5px; font-weight:600; line-height:1; letter-spacing:.01em;
  color:var(--gold,#c9a227); text-transform:none;
  border:1px solid rgba(201,162,39,.32); background:rgba(201,162,39,.06);
  transition:border-color .16s, background .16s;
}
.blxb-acc-card .foot .cardbtn:hover{ border-color:var(--gold,#c9a227); background:rgba(201,162,39,.14); }
.blxb-acc-card .foot .cardbtn.primary{ background:rgba(201,162,39,.14); border-color:rgba(201,162,39,.5); }
.blxb-acc-card:hover .foot .cardbtn.primary{ border-color:var(--gold,#c9a227); background:rgba(201,162,39,.2); }
.blxb-acc-card .foot .cardbtn .arw{ font-size:13px; }

/* the address prompt is the same treatment, laid out full width */
.blxb-addrbtn{ display:flex; align-items:center; gap:11px; width:100%; margin:4px 0 12px; padding:10px 12px;
  cursor:pointer; text-align:left; font-family:inherit; border-radius:12px;
  border:1px solid rgba(201,162,39,.32); background:rgba(201,162,39,.06);
  transition:border-color .16s, background .16s; }
.blxb-addrbtn:hover{ border-color:var(--gold,#c9a227); background:rgba(201,162,39,.14); }
.blxb-addrbtn .ic{ flex:none; width:26px; height:26px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; background:rgba(201,162,39,.16); color:var(--gold,#c9a227); font-size:12px; }
.blxb-addrbtn .tx{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1; }
.blxb-addrbtn .tx b{ font-size:12.5px; font-weight:600; letter-spacing:.01em; color:var(--gold,#c9a227); }
.blxb-addrbtn .tx i{ font-style:normal; font-size:11.5px; color:#8d8a83; line-height:1.35;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.blxb-addrbtn .chev{ flex:none; color:var(--gold,#c9a227); font-size:16px; line-height:1; opacity:.7; }
.blxb-addrbtn:hover .chev{ opacity:1; }
.blxb-flash{ animation:blxbFlash 1.4s ease; }
@keyframes blxbFlash{
  0%,100%{ box-shadow:0 0 0 0 rgba(201,162,39,0); }
  25%,60%{ box-shadow:0 0 0 3px rgba(201,162,39,.35); }
}

/* ---- mobile, end to end ---- */
@media(max-width:900px){
  .blxb-acc-grid{ grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
}
@media(max-width:640px){
  .blxb-acc-grid{ grid-template-columns:1fr; gap:14px; }
  .blxb-cardmap{ min-height:160px; }
  .blxb-acc-card .body{ padding:14px 15px; }
  .blxb-acc-card .body h3{ font-size:18px; }
  .blxb-acc-card .foot{ flex-direction:column; align-items:stretch; gap:10px; }
  .blxb-acc-card .foot .acts{ margin-left:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .blxb-acc-card .foot .cardbtn{ width:100%; padding:12px; }
  .blxb-addrbtn{ padding:12px; }
  .blxb-addrbtn .tx i{ white-space:normal; }
  /* header: greeting, tally and the two actions stack rather than collide */
  .blxb-showcase{ flex-direction:column; align-items:flex-start; gap:14px; }
  .blxb-showacts{ width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .blxb-showacts .blx.btn{ width:100%; text-align:center; padding:11px 8px; }
  /* trip page */
  .blxb-acc-detailhead{ flex-wrap:wrap; gap:10px; }
  .blxb-acc-cols{ grid-template-columns:1fr; }
  .blxb-legline{ gap:6px; font-size:13.5px; }
  .blxb-legline .pt{ font-size:13.5px; }
  .blxb-editfoot .sum .big{ font-size:22px; }
  .blxb-clsgrid{ grid-template-columns:1fr; }
  .blxb-facts2{ grid-template-columns:1fr 1fr; }
  /* anything typed stays at 16px so iOS does not zoom the page */
  .blxb-acc-field input, .blxb-acc-field select, .blxb-acc-field textarea,
  .blxb-edit input, .blxb-edit select, .blxb-edit textarea, .blxpp input{ font-size:16px; }
}
@media(max-width:400px){
  .blxb-acc-card .foot .acts{ grid-template-columns:1fr; }
  .blxb-showacts{ grid-template-columns:1fr; }
  .blxb-facts2{ grid-template-columns:1fr; }
}

@media(max-width:640px){
  /* message bubbles get more of the width on a narrow screen */
  .blxb-bub{ max-width:92%; }
  .blxb-bub .msg{ font-size:14px; }
  #msg-drawer .blxb-thread{ padding:12px 10px 4px; }
}

/* ---- Stripe wallet: real cards, add-card element ---- */
.blxb-wcard{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px;
  background:var(--bg,#0a0a0a);border:1px solid var(--line-2,#26241f);border-radius:9px;font-size:13.5px;}
.blxb-wcard .b{font-weight:700;color:var(--gold-2,#e3c25a);flex:none;}
.blxb-wcard .n{letter-spacing:.06em;color:var(--heading,#f3f1ec);}
.blxb-wcard .e{color:var(--muted,#8d8a82);font-size:12px;}
.blxb-wcard .blxb-wremove{margin-left:auto;}
#blxb-wadd{margin-top:14px;}
#blxb-welement{margin-bottom:14px;min-height:44px;}
.blxb-wrow{display:flex;gap:10px;}
.blxb-werr{margin-top:10px;background:#3a1c1d;border:1px solid #5c2b2e;color:#ff8a7a;font-size:13px;padding:10px 13px;border-radius:8px;}
#blxb-waddbtn{margin-top:4px;}

/* ---------- phones: thumb-first ---------- */
@media(max-width:640px){
  .blxb-acc-head{margin-bottom:22px;}
  .blxb-acc-head h1{font-size:27px;}
  .blxb-acc-head .blx-btn, .blxb-acc-head button{min-height:44px;}
  .blxb-auth-form input{height:48px;font-size:16px;}
  .blxb-acc-field input, .blxb-acc-field textarea, .blxb-acc-field select{font-size:16px;}
  .blxb-acc-drawer{width:100vw;border-left:0;}
  .blxb-wcard{flex-wrap:wrap;gap:8px 12px;padding:12px;}
  .blxb-wcard .blxb-wremove{margin-left:auto;min-height:36px;}
  .blxb-wrow{flex-direction:column;}
  .blxb-wrow .blx.btn{width:100%;justify-content:center;}
  #blxb-waddbtn{width:100%;justify-content:center;}
  .blxb-cardform input{height:48px;font-size:16px;}
  .blxb-replanbtn, .blxb-cancelbtn, .blxb-sendbtn{min-height:44px;}
}

/* ===== the wallet, grown up: methods with a default, and the statement ===== */
.blxb-wm{display:flex;align-items:center;gap:13px;padding:13px 15px;margin-bottom:8px;
  background:var(--panel-2,#131211);border:1px solid var(--line-2,#26241f);border-radius:12px;transition:border-color .15s;}
.blxb-wm.def{border-color:rgba(201,162,39,.5);}
.blxb-wm .ic{flex:none;width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  background:rgba(201,162,39,.1);color:var(--gold-2,#e3c25a);}
.blxb-wm .ic svg{width:19px;height:19px;}
.blxb-wm.bank .ic{background:rgba(30,138,76,.12);color:#5fbe8a;}
.blxb-wm .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.blxb-wm .tx b{font-size:14px;color:var(--heading,#f3f1ec);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.blxb-wm .tx i{font-style:normal;font-size:11.5px;color:var(--muted,#8d8a82);}
.blxb-wm .defpill{flex:none;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-2,#e3c25a);border:1px solid rgba(201,162,39,.45);border-radius:999px;padding:3px 10px;}
.blxb-wm .blxb-wdef{flex:none;font-size:12px;}
.blxb-wm .blxb-wremove{flex:none;font-size:12px;opacity:.7;}
.blxb-wm .blxb-wremove:hover{opacity:1;color:#e06a5b;}

.blxb-wstmt{margin-top:26px;border-top:1px solid var(--line-2,#26241f);padding-top:18px;}
.blxb-wstmt-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.blxb-wstmt-head .eyebrow{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold,#c9a227);}
.blxb-wstmt-head .scope{font-size:12px;color:var(--muted,#8d8a82);}
.blxb-wstmt-head .sp{flex:1;}
.blxb-wstmt-head .ranges{display:flex;gap:2px;}
.wrng{border:0;background:none;font:inherit;font-size:12px;color:var(--muted,#8d8a82);padding:7px 11px;border-radius:8px;cursor:pointer;}
.wrng:hover{color:var(--heading,#f3f1ec);}
.wrng.on{background:rgba(201,162,39,.14);color:var(--gold-2,#e3c25a);font-weight:600;}
.blxb-wtotals{display:flex;gap:22px;margin-bottom:12px;}
.blxb-wtotals .wt{display:flex;flex-direction:column;gap:1px;}
.blxb-wtotals .wt b{font-family:var(--serif,'Cormorant Garamond',serif);font-size:22px;font-weight:600;color:var(--heading,#f3f1ec);}
.blxb-wtotals .wt i{font-style:normal;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#8d8a82);}
.blxb-wtotals .wt.due b{color:#e0a020;}
.blxb-wrows .wr{display:flex;align-items:baseline;gap:14px;padding:10px 2px;border-bottom:1px dashed var(--line-2,#26241f);font-size:13px;}
.blxb-wrows .wr:last-child{border-bottom:0;}
.blxb-wrows .wr .d{flex:none;width:96px;color:var(--muted,#8d8a82);font-size:12px;}
.blxb-wrows .wr .rt{flex:1;min-width:0;color:var(--heading,#f3f1ec);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.blxb-wrows .wr .rt i{font-style:normal;color:var(--muted,#8d8a82);margin-left:8px;font-size:12px;}
.blxb-wrows .wr .pv{flex:none;font-size:11.5px;color:var(--muted,#8d8a82);}
.blxb-wrows .wr.open .pv{color:#e0a020;}
.blxb-wrows .wr .am{flex:none;width:84px;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--heading,#f3f1ec);}
@media(max-width:640px){
  .blxb-wrows .wr{flex-wrap:wrap;gap:4px 12px;}
  .blxb-wrows .wr .rt{flex-basis:100%;order:-1;}
  .blxb-wstmt-head .ranges{width:100%;overflow-x:auto;}
}

/* preview mode: same wallet, honestly labelled */
.blxb-wallet-head{display:flex;align-items:center;gap:10px;}
.blxb-wpreview{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted,#8d8a82);border:1px dashed var(--line-2,#26241f);border-radius:999px;padding:3px 10px;}
.blxb-wm.ex{opacity:.72;}
.blxb-wm.ex .tx i{font-style:italic;}

/* ================= the day of the trip ==================================
   The page stops being a record and becomes an answer. Ink on parchment,
   gold only where it means something, and a quiet pulse while a car moves. */
.blxb-live{
  position:relative; margin:0 0 22px; padding:26px 28px 22px;
  border:1px solid rgba(201,162,39,.34); border-radius:16px;
  background:linear-gradient(180deg,rgba(201,162,39,.07),rgba(201,162,39,.02) 60%,transparent);
  overflow:hidden;
}
.blxb-live::before{
  content:''; position:absolute; inset:0 auto 0 0; width:3px;
  background:linear-gradient(180deg,#c9a227,#e3c25a);
}
.blxb-live.moving::after{
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,#e3c25a,transparent);
  animation:blxb-sweep 2.6s linear infinite;
}
@keyframes blxb-sweep{ 0%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }
@media(prefers-reduced-motion:reduce){ .blxb-live.moving::after{ animation:none; opacity:.5; } }
.lv-eyebrow{ display:block; font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  color:#c9a227; margin-bottom:8px; }
.blxb-live h2,.blxb-thanks h2{ margin:0; font-size:clamp(22px,3.2vw,30px); line-height:1.15; font-weight:600; }
.lv-say{ margin:7px 0 0; font-size:14px; opacity:.72; max-width:46ch; }
.lv-facts{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:20px 0 18px;
  padding:16px 0; border-top:1px solid rgba(255,255,255,.09); border-bottom:1px solid rgba(255,255,255,.09); }
.lf{ min-width:0; }
.lf span{ display:block; font-size:9.5px; letter-spacing:.22em; text-transform:uppercase; opacity:.5; margin-bottom:5px; }
.lf b{ display:block; font-size:16px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lf i{ display:block; font-style:normal; font-size:12px; opacity:.6; margin-top:2px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lv-acts{ display:flex; gap:10px; flex-wrap:wrap; }

/* ================= after the trip ======================================= */
.blxb-thanks{ margin:0 0 22px; padding:24px 28px; border:1px solid rgba(255,255,255,.11);
  border-radius:16px; background:rgba(255,255,255,.028); }
.tk-head{ margin-bottom:18px; }
.tk-lab{ display:block; font-size:9.5px; letter-spacing:.22em; text-transform:uppercase; opacity:.5; margin-bottom:9px; }
/* The tip, as a nod: one line of small chips, quiet until hovered. The old
   version was four billboard boxes stretched across the card — prominence
   the moment doesn't want, since gratuity is usually already in the fare. */
.tk-tip{ display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:10px 0 2px; }
.tk-tiplab{ font-size:12.5px; opacity:.78; }
.tk-tiplab .tk-opt{ display:block; font-style:normal; font-size:10.5px; opacity:.55; margin-top:1px; }
.tk-amts{ display:inline-flex; gap:6px; flex-wrap:wrap; }
.tk-amt{ flex:none; display:inline-flex; align-items:baseline; gap:5px;
  border:1px solid rgba(255,255,255,.16); background:transparent; border-radius:999px;
  padding:6px 13px; cursor:pointer; color:inherit; font:inherit; font-size:12.5px; font-weight:600;
  transition:border-color .16s, background .16s, transform .1s; }
.tk-amt i{ font-style:normal; font-size:10px; opacity:.5; font-weight:500; }
.tk-amt:hover:not(:disabled){ border-color:#c9a227; background:rgba(201,162,39,.1); }
.tk-amt:active:not(:disabled){ transform:translateY(1px); }
.tk-amt:disabled{ opacity:.42; cursor:default; }
.tk-amt.busy{ border-color:#c9a227; background:rgba(201,162,39,.18); opacity:1; }
.tk-amt.other{ opacity:.75; font-weight:500; }
.tk-again{ margin-top:20px; padding-top:18px; border-top:1px solid rgba(255,255,255,.09);
  display:flex; gap:9px; align-items:center; flex-wrap:wrap; }
.tk-again .tk-lab{ flex:1 0 100%; margin-bottom:0; }
.tk-done{ display:flex; gap:14px; align-items:center; padding:8px 0; }
.tk-check{ flex:none; width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
  background:rgba(92,184,122,.16); color:#5cb87a; font-size:17px; }
.tk-done p{ margin:0; font-size:14px; line-height:1.55; }

@media(max-width:640px){
  .blxb-live,.blxb-thanks{ padding:20px 18px; border-radius:14px; }
  .lv-facts{ grid-template-columns:1fr 1fr; gap:12px 14px; }
  .lv-facts .lf:last-child{ grid-column:1 / -1; }
  .lv-acts .btn{ flex:1 1 auto; text-align:center; }
  .tk-amt{ flex:1 1 calc(50% - 5px); }
}

/* ======================================================================
   The account, with rooms.
   A concierge desk booking this route every week does not want one long
   scroll where March sits next to the car outside. Header, three rooms,
   and a working list that stays readable at twenty trips.
   ====================================================================== */
.blxb-acchead{ display:flex; align-items:flex-end; gap:20px; flex-wrap:wrap;
  padding:0 0 22px; }
.blxb-acchead .ah-who{ flex:1 1 260px; min-width:0; }
.blxb-acchead .eyebrow{ display:block; font-size:10px; letter-spacing:.3em;
  text-transform:uppercase; color:#c9a227; margin-bottom:9px; }
.blxb-acchead h1{ margin:0; font-size:clamp(26px,4.4vw,40px); line-height:1.05; font-weight:600;
  overflow-wrap:anywhere; }
.blxb-acchead .ah-sub{ margin:7px 0 0; font-size:13px; opacity:.55; }
.blxb-acchead .ah-acts{ display:flex; gap:9px; flex:0 0 auto; padding-bottom:4px; }

.blxb-accnav{ display:flex; gap:4px; border-bottom:1px solid rgba(255,255,255,.11);
  margin-bottom:26px; overflow-x:auto; scrollbar-width:none; }
.blxb-accnav::-webkit-scrollbar{ display:none; }
.anav{ position:relative; flex:0 0 auto; border:0; background:none; color:inherit; font:inherit;
  font-size:13.5px; letter-spacing:.02em; padding:12px 16px 13px; cursor:pointer; opacity:.55;
  border-bottom:2px solid transparent; margin-bottom:-1px; transition:opacity .16s, border-color .16s; }
.anav:hover{ opacity:.85; }
.anav.on{ opacity:1; font-weight:600; border-bottom-color:#c9a227; }
.anav i{ font-style:normal; font-size:10.5px; font-weight:700; margin-left:7px;
  background:rgba(201,162,39,.16); color:#c9a227; border-radius:999px; padding:2px 7px; vertical-align:1px; }
.blxb-accbody{ min-height:40vh; }
.sechead{ font-size:10px; letter-spacing:.24em; text-transform:uppercase; opacity:.5;
  margin:0 0 12px; font-weight:600; }

/* ---- one trip, one line ---- */
.blxb-lines{ display:flex; flex-direction:column; }
.blxb-line{ display:grid; align-items:center; gap:4px 14px; width:100%; text-align:left;
  grid-template-columns:104px minmax(0,1fr) 130px 84px 92px 14px;
  background:none; border:0; border-top:1px solid rgba(255,255,255,.08); color:inherit; font:inherit;
  padding:15px 4px; cursor:pointer; transition:background .14s; }
.blxb-line:first-child{ border-top:0; }
.blxb-line:hover{ background:rgba(255,255,255,.035); }
.blxb-line span{ min-width:0; }
.blxb-line b{ display:block; font-size:13.5px; font-weight:600; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.blxb-line i{ display:block; font-style:normal; font-size:11.5px; opacity:.5; margin-top:2px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.blxb-line .ld b{ font-size:13px; }
.blxb-line .lm,.blxb-line .lp{ font-size:12.5px; opacity:.65; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap; }
.blxb-line .lp{ text-align:right; font-variant-numeric:tabular-nums; opacity:.9; }
.blxb-line .ls{ font-size:11px; font-weight:600; letter-spacing:.03em; text-align:right; }
.blxb-line .lgo{ opacity:.3; font-size:17px; text-align:right; }
.blxb-line .lchg{ grid-column:2 / -1; justify-self:start; font-size:10.5px; font-weight:600;
  letter-spacing:.04em; color:#c9a227; background:rgba(201,162,39,.12); border-radius:999px;
  padding:3px 9px; margin-top:5px; }
.blxb-line .lchg.addr{ color:#e0a06b; background:rgba(224,160,107,.13); }
.blxb-more{ margin-top:14px; background:none; border:0; color:#c9a227; font:inherit; font-size:12.5px;
  font-weight:600; cursor:pointer; padding:6px 0; }
.blxb-next{ margin-top:34px; }
.blxb-after{ margin-top:18px; }

/* ---- trips ---- */
.blxb-tripbar{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:8px; }
.segs{ display:flex; gap:3px; background:rgba(255,255,255,.05); border-radius:999px; padding:3px; flex:0 0 auto; }
.seg{ border:0; background:none; color:inherit; font:inherit; font-size:12.5px; opacity:.6;
  padding:7px 16px; border-radius:999px; cursor:pointer; transition:all .15s; }
.seg:hover{ opacity:.9; }
.seg.on{ background:rgba(201,162,39,.18); color:#e3c25a; opacity:1; font-weight:600; }
#acc-q{ flex:1 1 220px; min-width:0; height:40px; padding:0 15px; font:inherit; font-size:13.5px;
  border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(255,255,255,.04);
  color:inherit; outline:none; }
#acc-q:focus{ border-color:#c9a227; }
.blxb-lines.big .blxb-line{ padding:17px 4px; }

/* ---- quiet states ---- */
.blxb-quiet{ padding:52px 24px; text-align:center; border:1px dashed rgba(255,255,255,.13);
  border-radius:16px; }
.blxb-quiet.small{ padding:38px 20px; }
.blxb-quiet h2{ margin:0 0 8px; font-size:clamp(20px,3vw,26px); font-weight:600; }
.blxb-quiet p{ margin:0 0 18px; font-size:13.5px; opacity:.6; }
.blxb-quiet.small p{ margin:0; }

/* ---- billing ---- */
.blxb-owed{ margin-bottom:34px; }
.ow-total{ display:flex; align-items:baseline; gap:12px; margin-bottom:14px; }
.ow-total b{ font-size:clamp(26px,4vw,34px); font-weight:600; }
.ow-total i{ font-style:normal; font-size:12.5px; opacity:.55; }
#blxb-wallet-host .blxb-wallet{ display:block; margin:0; }

@media(max-width:760px){
  .blxb-acchead{ padding-bottom:18px; }
  .blxb-acchead .ah-acts{ width:100%; }
  .blxb-acchead .ah-acts .btn{ flex:1 1 0; text-align:center; }
  .anav{ padding:11px 13px; font-size:13px; }
  /* Two rows, not six columns: date and route on the left, money and state
     on the right, and the chevron stops claiming a line of its own. */
  .blxb-line{ grid-template-columns:minmax(0,1fr) auto; grid-template-areas:
    "ld lp" "lr ls" "lchg lchg"; gap:2px 12px; padding:14px 2px; }
  .blxb-line .ld{ grid-area:ld; } .blxb-line .lr{ grid-area:lr; }
  .blxb-line .lp{ grid-area:lp; } .blxb-line .ls{ grid-area:ls; }
  .blxb-line .lchg{ grid-area:lchg; margin-top:7px; }
  .blxb-line .lm,.blxb-line .lgo{ display:none; }
  .blxb-line .ld b{ display:inline; } .blxb-line .ld i{ display:inline; margin-left:7px; }
}

/* ============================================================
 * The account, as a place — not an afterthought
 * ============================================================
 * The page used to float its content straight on the body: a heading, a bare
 * tab row, and whatever the tab held, adrift in cream. The header gets a
 * monogram, the nav gets a real segmented bar, and each room's content sits
 * in a panel with an edge — the same grammar every admin console already
 * speaks, translated to the dark guest theme. */
.ah-who{ display:flex; align-items:center; gap:16px; min-width:0; }
.ah-av{ flex:none; width:56px; height:56px; border-radius:50%; display:flex; align-items:center;
  justify-content:center; font-size:23px; font-weight:700; color:#17140b;
  background:linear-gradient(140deg,#e3c25a,#c9a227);
  box-shadow:0 14px 30px -14px rgba(201,162,39,.55); }

.blxb-accnav{ gap:6px; border-bottom:0; background:var(--panel,#0c0c0b);
  border:1px solid var(--line,#1c1b18); border-radius:12px; padding:5px 6px; }
.anav{ padding:9px 15px; border-radius:8px; border-bottom:0 !important; font-size:13.5px;
  transition:background .15s, color .15s; }
.anav:hover{ opacity:1; background:rgba(201,162,39,.09); }
.anav.on{ background:var(--gold,#c9a227); color:#17130a; font-weight:600; }
.anav.on i{ color:rgba(23,19,10,.7); }

/* One panel per room: the edge that makes content read as designed. */
.blxb-panel{ background:var(--panel,#0c0c0b); border:1px solid var(--line,#1c1b18);
  border-radius:14px; padding:clamp(22px,3vw,34px); }
.pn-head{ margin-bottom:22px; }
.pn-head .sechead{ margin:0 0 6px; }
.pn-sub{ margin:0; font-size:13.5px; color:var(--muted,#8d8a82); line-height:1.6; }
.pn-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px 20px; }
.pn-grid.two{ grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.pn-field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.pn-field span{ font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted,#8d8a82); }
.pn-field input{ width:100%; background:var(--bg,#0a0a0a); border:1px solid #2a2823; border-radius:8px;
  color:#f0eee8; font:inherit; font-size:14px; padding:11px 13px; outline:none;
  transition:border-color .15s; }
.pn-field input:focus{ border-color:var(--gold,#c9a227); }
.pn-field input:disabled{ opacity:.55; cursor:not-allowed; }
.pn-field input::placeholder{ color:#5d594f; }
.pn-foot{ display:flex; align-items:center; gap:14px; margin-top:24px; }
.pn-msg{ font-size:12.5px; color:var(--gold,#c9a227); }
.pn-sec{ margin-top:30px; padding-top:24px; border-top:1px solid var(--line,#1c1b18); }
.pn-sec .sechead{ margin:0 0 6px; }
.pn-sec .pn-sub{ margin-bottom:14px; }
.pn-sec .pn-msg{ margin-left:12px; }
@media(max-width:640px){
  .ah-av{ width:44px; height:44px; font-size:18px; }
  .blxb-panel{ padding:18px 16px; }
  .pn-grid, .pn-grid.two{ grid-template-columns:1fr; }
  .pn-foot .btn{ flex:1; justify-content:center; }
}

/* ---- the dashboard's figures ----
   Four tiles, each a door: trips ahead opens the list, the balance opens
   Billing, the next pickup opens that trip. A figure you can act on beats a
   figure you can only read. */
.db-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin-bottom:26px; }
.db-stat{ text-align:left; border:1px solid var(--line,#1c1b18); background:var(--panel,#0c0c0b);
  border-radius:12px; padding:16px 18px; cursor:pointer; font:inherit; color:inherit;
  transition:border-color .16s, transform .16s; }
.db-stat:hover{ border-color:var(--gold,#c9a227); transform:translateY(-2px); }
.db-stat b{ display:block; font-family:var(--serif,'Cormorant Garamond',serif); font-size:26px;
  font-weight:600; color:var(--heading,#f3f1ec); line-height:1.1; }
.db-stat i{ display:block; font-style:normal; margin-top:4px; font-size:10.5px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--muted,#8d8a82); }
.db-stat.warn b{ color:#e0a020; }
.db-sech{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.db-sech .blxb-more{ margin:0; }
@media(max-width:640px){
  .db-stats{ grid-template-columns:1fr 1fr; gap:9px; }
  .db-stat{ padding:13px 14px; }
  .db-stat b{ font-size:21px; }
}

/* ---- the two eras, pronounced ----
   With Trips folded in, Coming up and Where you've been are the page's
   spine — so they get serif headings at card scale, the count riding small
   beside, and a hairline running to the margin the way a good menu rules off
   its courses. */
.db-era{ margin-top:34px; }
.db-erah{ display:flex; align-items:center; gap:16px; margin-bottom:16px; }
.db-erah h2{ margin:0; font-size:clamp(20px,2.6vw,27px); font-weight:600; color:var(--heading,#f3f1ec);
  white-space:nowrap; }
.db-erah h2 i{ font-style:normal; font-family:var(--sans,'Manrope',sans-serif); font-size:11.5px;
  font-weight:700; color:var(--gold,#c9a227); vertical-align:6px; margin-left:8px; }
.db-erah .rule{ flex:1; height:1px; background:var(--line,#1c1b18); }
.db-more{ margin-top:14px; }
body.blx-powder .db-erah .rule{ background:var(--line,#e7e3d9); }

/* ---- billing, as a place money is handled rather than displayed ---- */
.bl-open{ margin-bottom:16px; }
.bl-open.clear .sechead{ margin-bottom:4px; }
.bl-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:18px;
  flex-wrap:wrap; margin-bottom:14px; }
.bl-head .sechead{ margin:0 0 4px; }
.bl-total{ text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:9px; }
.bl-total > b{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:32px; font-weight:600;
  color:var(--heading,#f3f1ec); line-height:1; }
.bl-rows{ border-top:1px solid var(--line,#1c1b18); }
.bl-row{ display:flex; align-items:center; gap:14px; padding:13px 0;
  border-bottom:1px dashed var(--line,#1c1b18); transition:opacity .3s; }
.bl-row:last-child{ border-bottom:0; }
.bl-row.paidnow{ opacity:.62; }
.bl-trip{ flex:1; min-width:0; text-align:left; background:none; border:0; font:inherit;
  color:inherit; cursor:pointer; padding:0; }
.bl-trip b{ display:block; font-size:13.5px; font-weight:600; color:var(--heading,#f3f1ec); }
.bl-trip i{ display:block; font-style:normal; font-size:12px; color:var(--muted,#8d8a82);
  margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bl-trip:hover b{ color:var(--gold,#c9a227); }
.bl-amt{ flex:none; font-size:14.5px; font-weight:700; color:var(--heading,#f3f1ec);
  font-variant-numeric:tabular-nums; }
.bl-pay{ flex:none; border:1px solid rgba(201,162,39,.55); background:rgba(201,162,39,.12);
  color:var(--gold,#c9a227); font:inherit; font-size:12.5px; font-weight:600; border-radius:9px;
  padding:9px 15px; cursor:pointer; white-space:nowrap; transition:background .15s, color .15s; }
.bl-pay:hover{ background:var(--gold,#c9a227); color:#17130a; }
.bl-pay:disabled{ opacity:.7; cursor:default; }
.bl-pay.need{ border-color:var(--line,#1c1b18); background:none; color:var(--muted,#8d8a82); }
.bl-done{ flex:none; font-size:12.5px; font-weight:700; color:#1e8a4c; white-space:nowrap; }

/* the switch that decides what a completed trip does */
.bl-pref{ margin-bottom:16px; }
.bl-prefrow{ display:flex; align-items:center; justify-content:space-between; gap:20px; }
.bl-preftx .sechead{ margin:0 0 4px; }
.pn-sub.warn{ color:#e0a020; margin-top:10px; }
.bl-toggle{ flex:none; width:52px; height:30px; border-radius:999px; border:1px solid var(--line,#1c1b18);
  background:var(--bg,#0a0a0a); cursor:pointer; position:relative; padding:0;
  transition:background .2s, border-color .2s; }
.bl-toggle i{ position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%;
  background:var(--muted,#8d8a82); transition:left .2s, background .2s; }
.bl-toggle.on{ background:rgba(201,162,39,.25); border-color:var(--gold,#c9a227); }
.bl-toggle.on i{ left:25px; background:var(--gold,#c9a227); }
.bl-toggle:disabled{ opacity:.6; cursor:default; }
@media(max-width:640px){
  .bl-head{ flex-direction:column; }
  .bl-total{ align-items:flex-start; text-align:left; }
  .bl-row{ flex-wrap:wrap; }
  .bl-trip{ flex:1 1 100%; }
  .bl-pay{ flex:1; }
}

/* ---- the face on the account ---- */
.ah-av.pic{ background:none; box-shadow:0 14px 30px -14px rgba(0,0,0,.5); overflow:hidden; }
.ah-av.pic img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
.pf-avrow{ display:flex; align-items:center; gap:16px; margin:14px 0 4px; }
.pf-av{ flex:none; width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--serif,'Cormorant Garamond',serif); font-size:24px; font-weight:700; color:#17140b;
  background:linear-gradient(140deg,#e3c25a,#c9a227); overflow:hidden; }
.pf-av.pic{ background:#111; }
.pf-av.pic img{ width:100%; height:100%; object-fit:cover; }
.pf-avtx b{ display:block; font-size:13.5px; color:var(--heading,#f3f1ec); }
.pf-avtx i{ display:block; font-style:normal; font-size:12px; color:var(--muted,#8d8a82); margin:3px 0 8px; }
.pf-avbtns{ display:flex; gap:8px; }


/* ---------------- the guest's own flight ---------------- */
.blxb-fledit { margin-top: 10px; }
.blxb-fltoggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  border: 1px dashed #d9d4c8; background: none; border-radius: 12px;
  padding: 11px 14px; font: inherit; font-size: 13px; font-weight: 600;
  color: #55503f; cursor: pointer;
}
.blxb-fltoggle:hover { border-color: #c9a227; color: #14120c; }
.blxb-fltoggle .chev { transition: transform .18s; }
.blxb-fltoggle.open .chev { transform: rotate(90deg); }
.blxb-flbody[hidden] { display: none !important; }
.blxb-flbody { padding: 12px 2px 2px; }
.blxb-flhint { margin: 0 0 10px; font-size: 12.5px; color: #7a7466; }
.blxb-flrow { display: flex; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.blxb-flrow select, .blxb-flrow input {
  flex: 1 1 140px; min-width: 0; border: 1px solid #d9d4c8; border-radius: 10px;
  padding: 10px 12px; font: inherit; font-size: 16px; background: #fff;
}
.blxb-flrow .btn { flex: 1 1 auto; }
.blxb-flboard[hidden] { display: none !important; }
.blxb-flboard { margin-top: 4px; max-height: 260px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.blxb-flboardhead { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: #7a7466; padding: 6px 2px; }
.blxb-flloading { font-size: 12.5px; color: #7a7466; padding: 10px 2px; }
.blxb-flopt {
  display: block; width: 100%; text-align: left; border: 1px solid #eee8da;
  background: #fffdf7; border-radius: 10px; padding: 9px 12px; margin-bottom: 6px;
  font: inherit; cursor: pointer;
}
.blxb-flopt:hover { border-color: #c9a227; }
.blxb-flopt b { font-size: 13.5px; margin-right: 8px; }
.blxb-flopt span { font-size: 12px; color: #55503f; }
.blxb-flopt i { display: block; font-style: normal; font-size: 12px; color: #8a6a12; }


/* the message count riding the hero's button */
.blxb-live .lv-mct {
  display: inline-grid; place-items: center; min-width: 18px; height: 18px;
  margin-left: 6px; padding: 0 5px; border-radius: 999px;
  background: #c9a227; color: #14120c; font-size: 11px; font-weight: 800;
}

/* ---- Driving: the chauffeur's own ledger ---- */
.blxb-earn .ehead{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.blxb-earn .ehead.second{ margin-top:22px; padding-top:16px; border-top:1px solid var(--line,#232220); }
.blxb-earn .ehead .lbl{ font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold,#c9a227); }
.blxb-earn .ehead b{ font-family:var(--serif,Georgia,serif); font-size:20px; font-weight:600; }
.blxb-earn .ehead i{ font-style:normal; font-size:12.5px; color:var(--muted,#8d8a82); margin-left:auto; }
.blxb-earn .esum{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.blxb-earn .es{ flex:1 1 120px; border:1px solid var(--line,#232220); border-radius:12px; padding:11px 14px; }
.blxb-earn .es span{ display:block; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted,#8d8a82); }
.blxb-earn .es b{ font-family:var(--serif,Georgia,serif); font-size:23px; font-weight:600; }
.blxb-earn .es.due{ border-color:rgba(201,162,39,.45); background:rgba(201,162,39,.07); }
.blxb-earn .erow{ display:flex; align-items:flex-start; gap:14px; padding:11px 0; border-bottom:1px dashed var(--line,#232220); }
.blxb-earn .erow:last-child{ border-bottom:0; }
.blxb-earn .ew{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.blxb-earn .ew i{ font-style:normal; font-size:12px; color:var(--muted,#8d8a82); }
.blxb-earn .ew em{ font-style:normal; font-size:11.5px; color:var(--gold,#c9a227); }
.blxb-earn .ea{ flex:none; text-align:right; }
.blxb-earn .ea b{ display:block; font-size:15px; }
.blxb-earn .ea i{ font-style:normal; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted,#8d8a82); }
.blxb-earn .ea i.due{ color:var(--gold,#c9a227); }

/* ---- invoices on the account page ----
   An account billed on terms settles documents, not trips, so its invoices
   lead the Billing tab and each row opens the document itself. */
.bl-inv .bl-row.inv{ display:grid; grid-template-columns:minmax(0,1fr) 120px 110px 108px;
  align-items:center; gap:14px; text-decoration:none; }
.bl-inv .iv-no{ min-width:0; display:flex; flex-direction:column; }
.bl-inv .iv-no b{ font-size:14.5px; }
.bl-inv .iv-no i{ font-style:normal; font-size:12px; opacity:.68; }
.bl-inv .iv-st{ font-size:11px; font-weight:700; letter-spacing:.04em; }
.bl-inv .iv-st.ok{ color:#2f7d52; }
.bl-inv .iv-st.soon{ color:#b58a1a; }
.bl-inv .iv-st.due{ color:#b4690e; }
.bl-inv .iv-st.bad{ color:#a52a1a; }
.bl-inv .iv-go{ text-align:right; font-size:12.5px; font-weight:600; opacity:.8; }
@media(max-width:760px){
  .bl-inv .bl-row.inv{ grid-template-columns:minmax(0,1fr) 100px; row-gap:4px; }
  .bl-inv .iv-st, .bl-inv .iv-go{ display:none; }
}
