/*!
 * Booking widget — the POWDER skin.
 * Loaded after widget.css only when the platform design is Powder; every rule
 * is scoped to body.blx-powder and changes presentation only.
 *
 * This is the page where a guest decides whether to trust the company with a
 * four-figure transfer, and until this pass it was dressed differently from
 * everything around it: Inter where the site leads with a serif, a brassy
 * yellow the marketing pages had already abandoned, white cards floating on
 * near-white with nothing anchoring them. A guest who came in through the
 * home page crossed into what felt like a different, cheaper product at the
 * exact moment money entered the conversation.
 *
 * The moves, and why:
 *
 *   TYPE   The display voice is the site's serif — "Where to?", the fare,
 *          the vehicle names. A question set in 40px Cormorant reads like a
 *          concierge; the same words in bold Inter read like a form. The UI
 *          chrome stays Inter, because chrome should disappear.
 *
 *   INK    The primary action is near-black, not gold. On warm paper, a gold
 *          slab is the least legible thing on the screen and pulls the whole
 *          page toward a casino. Brass is demoted to what accents are for:
 *          the active step, the focus ring, the price.
 *
 *   DEPTH  One material system: white surfaces, warm hairlines, and a single
 *          soft shadow family — never borders pretending to be elevation.
 * ---------------------------------------------------------------------- */

/*
 * NO @import HERE — it was the black flash. An @import at the top of this
 * file held EVERY powder rule hostage until the Google Fonts CSS came back
 * over the network, and while it waited the base widget.css (dark) was
 * already painted: a guest tapping an airport tile on the light home page
 * got a frame of near-black before the powder repaint landed. The font now
 * loads as its own non-blocking stylesheet, enqueued by the shortcode, and
 * the serif declares Georgia as its stand-in until it arrives.
 */

/* ---------- tokens ---------- */
body.blx-powder .blxbk-app{
	--bg:#fbfaf7; --bg2:#f3f1ec; --surface:#ffffff; --surface2:#f6f4ee;
	--line:#e3ded3; --line2:#cbc4b4;
	--text:#1a1917; --text2:#6b6760; --text3:#a39c8d;
	--gold:#8a6a12; --gold2:#b58a1a;
	--goldsoft:rgba(181,138,26,.09); --goldline:rgba(181,138,26,.38);
	--ink:#0e0d0c;
	--serif:'Cormorant Garamond',Georgia,serif;
	--shadow-s:0 1px 2px rgba(26,25,23,.05),0 4px 14px -6px rgba(26,25,23,.10);
	--shadow-m:0 2px 4px rgba(26,25,23,.05),0 18px 44px -18px rgba(26,25,23,.22);
	--shadow-l:0 24px 70px -24px rgba(26,25,23,.30);
}
/* Doubled class on purpose: the shortcode prints an inline first-paint guard
   (flat #fbfaf7, so the dark shell can never flash) which appears LATER in
   the document than this file — at equal specificity it would win and
   flatten this layered ground. One extra class settles it without touching
   the cascade anywhere else. */
body.blx-powder .blxbk-app.blxbk-app{
	background:
		radial-gradient(90% 60% at 50% 0%, #ffffff 0%, rgba(255,255,255,0) 60%),
		linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
}
body.blx-powder .blxbk-app ::selection{ background:var(--goldsoft); color:var(--gold); }

/* ---------- chrome ---------- */
body.blx-powder .blxbk-top{ border-bottom:1px solid var(--line); background:rgba(251,250,247,.85); backdrop-filter:saturate(1.3) blur(10px); }
body.blx-powder .blxbk-brand{ font-family:var(--serif); font-size:19px; font-weight:600; letter-spacing:.01em; color:var(--ink); }
body.blx-powder .blxbk-brand span{ color:var(--gold); }
body.blx-powder .blxbk-steps i{ background:#e0dbd0; }
body.blx-powder .blxbk-steps i.done{ background:var(--gold2); }
body.blx-powder .blxbk-steps i.on{ background:var(--gold); }
body.blx-powder .kbd{ background:var(--surface); border-color:var(--line2); color:var(--text2); }
body.blx-powder .blxbk-back{ background:#fff; border:1px solid var(--line); color:var(--text2); box-shadow:var(--shadow-s); }
body.blx-powder .blxbk-back:hover{ color:var(--gold2); border-color:var(--goldline); }

/* ---------- the question ---------- */
body.blx-powder .blxbk-eyebrow{ color:var(--gold); }
body.blx-powder .blxbk-eyebrow .n{ color:var(--text3); }
body.blx-powder .blxbk-h1{
	font-family:var(--serif); font-weight:600;
	font-size:clamp(32px,4.6vw,44px); letter-spacing:-.01em; line-height:1.02;
	color:var(--ink);
}
body.blx-powder .blxbk-sub{ color:var(--text2); }

/* ---------- segmented control ---------- */
body.blx-powder .blxbk-seg{ background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-s); }
body.blx-powder .blxbk-seg button{ color:var(--text2); }
body.blx-powder .blxbk-seg button:hover{ color:var(--text); }
body.blx-powder .blxbk-seg button.on{
	background:var(--ink); color:#fbfaf7;
	box-shadow:0 2px 6px -1px rgba(14,13,12,.35);
}

/* ---------- fields ---------- */
body.blx-powder .blxbk-inp{
	background:var(--surface); border-color:var(--line);
	box-shadow:var(--shadow-s); color:var(--text);
}
body.blx-powder .blxbk-inp::placeholder{ color:var(--text3); }
body.blx-powder .blxbk-inp:hover{ border-color:var(--line2); }
body.blx-powder .blxbk-inp:focus{
	border-color:var(--gold2);
	box-shadow:0 0 0 3px var(--goldsoft), var(--shadow-s);
}
body.blx-powder .blxbk-lbl{ color:var(--text2); }
body.blx-powder .blxbk-swap{ background:var(--surface); border:1px solid var(--line); color:var(--text2); box-shadow:var(--shadow-s); }
body.blx-powder .blxbk-swap:hover{ color:var(--gold); border-color:var(--goldline); }
body.blx-powder .blxbk-addstop{ border:1px dashed var(--line2); color:var(--text2); background:transparent; }
body.blx-powder .blxbk-addstop:hover{ color:var(--gold); border-color:var(--goldline); background:var(--goldsoft); }

/* ---------- dropdown menus ---------- */
body.blx-powder .blxbk-menu{
	background:var(--surface); border-color:var(--line);
	box-shadow:var(--shadow-l);
}
body.blx-powder .blxbk-mrow{ color:var(--text); }
body.blx-powder .blxbk-mrow:hover,
body.blx-powder .blxbk-mrow.sel{ background:var(--goldsoft); color:var(--ink); }
body.blx-powder .blxbk-mrow .sub{ color:var(--text3); }
body.blx-powder .blxbk-msec{ color:var(--text3); }
body.blx-powder .blxbk-mempty{ color:var(--text3); }
body.blx-powder .blxbk-mic{ color:var(--gold); }

/* ---------- footer + actions ---------- */
body.blx-powder .blxbk-foot{ background:linear-gradient(0deg, var(--bg) 58%, rgba(251,250,247,0)); }
body.blx-powder .blxbk-cta{
	background:var(--ink); color:#fbfaf7;
	box-shadow:0 10px 26px -12px rgba(14,13,12,.5);
}
body.blx-powder .blxbk-cta:hover:not(:disabled){ background:var(--gold); color:#fff; transform:translateY(-1px); }
body.blx-powder .blxbk-cta:active{ transform:translateY(0); }
body.blx-powder .blxbk-cta:disabled{ background:#dcd7cb; color:#8d887c; box-shadow:none; }
body.blx-powder .blxbk-cta .price{ border-left-color:rgba(251,250,247,.28); font-family:var(--serif); font-size:17px; font-weight:600; }
body.blx-powder .blxbk-cta .blxbk-spin.dark{ border-color:rgba(251,250,247,.3); border-top-color:#fbfaf7; }
body.blx-powder .blxbk-cta2{ background:transparent; border:1px solid var(--line2); color:var(--text); }
body.blx-powder .blxbk-cta2:hover{ border-color:var(--ink); background:var(--surface2); }
body.blx-powder .blxbk-back{ color:var(--text2); }
body.blx-powder .blxbk-back:hover{ color:var(--text); }

/* ---------- route ribbon ---------- */
body.blx-powder .blxbk-ribbon{ background:var(--surface); border-color:var(--line); box-shadow:var(--shadow-m); }
body.blx-powder .blxbk-rmap{ background:#eceae3; }
body.blx-powder .blxbk-rstat b{ font-family:var(--serif); font-size:19px; font-weight:600; color:var(--ink); }
body.blx-powder .blxbk-rstat span{ color:var(--text3); }
body.blx-powder .blxbk-rleg{ border-top:1px solid var(--line); }
body.blx-powder .blxbk-seeroute{ color:var(--gold); }
body.blx-powder .blxbk-seeroute:hover{ color:var(--gold2); }

/* ---------- vehicle choice ---------- */
body.blx-powder .blxbk-veh{ background:var(--surface); border-color:var(--line); box-shadow:var(--shadow-s); }
body.blx-powder .blxbk-veh:hover{ border-color:var(--line2); box-shadow:var(--shadow-m); }
body.blx-powder .blxbk-veh.on{ border-color:var(--gold2); box-shadow:0 0 0 3px var(--goldsoft), var(--shadow-m); }
body.blx-powder .blxbk-veh.on .blxbk-vsel i{ background:#fff; } /* white dot on the brass-filled box — gold-on-gold is invisible */
body.blx-powder .blxbk-vsel{ border-color:var(--line2); }
body.blx-powder .blxbk-dname{ font-family:var(--serif); font-weight:600; letter-spacing:0; color:var(--ink); }
body.blx-powder .blxbk-dprice{ font-family:var(--serif); font-weight:600; color:var(--ink); }
body.blx-powder .blxbk-dprice small{ font-family:var(--font); color:var(--text3); }
body.blx-powder .blxbk-dspec{ color:var(--text2); }
body.blx-powder .blxbk-dfeats span{ background:var(--surface2); border:1px solid var(--line); color:var(--text2); }
body.blx-powder .blxbk-dimg,
body.blx-powder .blxbk-dimg.mv{ background:#e7e4dc; }
body.blx-powder .blxbk-ddots button{ background:rgba(26,25,23,.18); }
body.blx-powder .blxbk-ddots button.on{ background:var(--gold); }
body.blx-powder .blxbk-vdrawer{ background:var(--surface); border-color:var(--line); box-shadow:var(--shadow-l); }
body.blx-powder .blxbk-3dbadge,
body.blx-powder .blxbk-3dtag{ background:rgba(251,250,247,.85); color:var(--text2); border:1px solid var(--line); }

/* ---------- review + totals ---------- */
body.blx-powder .blxbk-summary{ background:var(--surface); border-color:var(--line); box-shadow:var(--shadow-m); }
body.blx-powder .blxbk-srow{ border-top:1px solid var(--line); }
body.blx-powder .blxbk-srow .k{ color:var(--text2); }
body.blx-powder .blxbk-total{ font-family:var(--serif); font-weight:600; font-size:24px; color:var(--ink); }
body.blx-powder .blxbk-total small{ font-family:var(--font); color:var(--text3); }
body.blx-powder .blxbk-quote{ color:var(--text2); }
body.blx-powder .blxbk-estnote,
body.blx-powder .blxbk-classnote,
body.blx-powder .blxbk-bestfit,
body.blx-powder .blxbk-arrivenote{ color:var(--text3); }
body.blx-powder .blxbk-refpill{ background:var(--surface2); border:1px solid var(--line); color:var(--text2); }

/* ---------- confirmation ---------- */
body.blx-powder .blxbk-confirmbox{ background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-l); }
body.blx-powder .blxbk-check{ color:var(--gold); }
body.blx-powder .blxbk-cfyes{ background:var(--ink); color:#fbfaf7; }
body.blx-powder .blxbk-cfyes:hover{ background:var(--gold); color:#fff; }
body.blx-powder .blxbk-cfno{ border:1px solid var(--line2); color:var(--text); background:transparent; }
body.blx-powder .blxbk-done h2{ font-family:var(--serif); font-weight:600; color:var(--ink); }

/* ---------- flight lookup / extras ---------- */
body.blx-powder .blxbk-flopt{ background:var(--surface); border-color:var(--line); }
body.blx-powder .blxbk-flopt:hover{ border-color:var(--line2); }
body.blx-powder .blxbk-flopt em u.ok{ color:#1e6e42; }
body.blx-powder .blxbk-err{ color:#a1372c; }
body.blx-powder .blxbk-stoprm:hover{ color:#a1372c; }
body.blx-powder .blxbk-flcheck.warn{ border-left-color:#8a5a10; }
body.blx-powder .blxbk-flcheck.warn b{ color:#8a5a10; }
body.blx-powder .blxbk-switchwarn b{ color:#a1372c; }
body.blx-powder .blxbk-mappop .legs i.b{ background:var(--ink); border-color:var(--ink); }
body.blx-powder .blxbk-prefbody input:checked::after{ border-color:#fbfaf7; }
body.blx-powder .blxbk-emailbar{ background:var(--surface2); border-bottom:1px solid var(--line); }
body.blx-powder .blxbk-emailwin{ background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow-l); }
body.blx-powder .blxbk-partnerbar{ background:var(--goldsoft); color:var(--gold); border-bottom:1px solid var(--goldline); }

/* ---------- the guest gate ---------- */
body.blx-powder .blxbk-gatebtn{ background:var(--ink); color:#fbfaf7; }
body.blx-powder .blxbk-gatebtn:hover{ background:var(--gold); color:#fff; }

/* ---------- focus, for every control the base leaves untreated ---------- */
body.blx-powder .blxbk-app button:focus-visible,
body.blx-powder .blxbk-app input:focus-visible,
body.blx-powder .blxbk-app a:focus-visible{
	outline:2px solid var(--gold2);
	outline-offset:2px;
}

/* ---------- mobile sheet ---------- */
@media (max-width:640px){
	body.blx-powder .blxbk-menu{ box-shadow:0 -18px 60px rgba(26,25,23,.25); }
}
