/* pp-air.css — the flight booking system.
   Written in the house idiom: component classes, tokens only. Permitted literal
   values match pp-wow.css (accent fill #2DD4BF, on-accent #0E1420, on-photo inks,
   photo scrims). Flight-specific accents use --pb-kind-air-ink — flights already
   own a colour in this system. Every --pb-surface card carries --pp-card-glow. */

/* ── shared bits ─────────────────────────────────────────────── */
.pp-sample{white-space:nowrap}
.fa-num{font-variant-numeric:tabular-nums}
.fa-mono{font-family:ui-monospace,Menlo,monospace}
.fa-air-ink{color:var(--pb-kind-air-ink)}
.fa-plus1{font-size:10px;font-weight:700;color:var(--pb-amber-ink);vertical-align:super;margin-left:3px;letter-spacing:.02em}
.fa-arrow{color:var(--pb-kind-air-ink);font-weight:600}
.fa-sourcedrow{margin-top:18px;display:flex;flex-direction:column;gap:10px}

/* ── trip-type chips above the bar ───────────────────────────── */
.fa-triptype{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}

/* ── the search bar grows two segments (Travellers · Cabin) ───── */
.fa-bar .pp-bsearch{max-width:1060px}
.fa-bar .pp-bseg--sm{flex:0 1 170px}
/* multi-city leg rows */
.fa-legs{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.fa-legrow{display:flex;align-items:center;gap:10px}
.fa-legrow .pp-bsearch{flex:1}
.fa-legrow-x{width:38px;height:38px;flex:none;border-radius:50%;border:1px solid var(--pb-border-strong);
  display:inline-flex;align-items:center;justify-content:center;color:var(--pb-muted)}
.fa-legrow-x:hover{border-color:var(--pb-accent-border);color:var(--pb-coral-ink)}
.fa-addleg{margin-top:10px}

/* ── airport picker rows ─────────────────────────────────────── */
.fa-ports{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.fa-port{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:var(--pb-r-nested);
  width:100%;text-align:left;color:var(--pb-text-2)}
.fa-port:hover,.fa-port.is-cur{background:var(--pb-accent-tint);color:var(--pb-text)}
.fa-port-city{font-weight:600;color:var(--pb-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fa-port-sub{font-size:var(--pb-fs-caption);color:var(--pb-muted)}
.fa-port-code{margin-left:auto;flex:none;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:600;
  color:var(--pb-kind-air-ink);border:1px solid var(--pb-border-strong);border-radius:var(--pb-r-chip);padding:3px 7px}
.fa-port mark{background:transparent;color:var(--pb-accent-ink);font-weight:800}

/* ── sort tabs ───────────────────────────────────────────────── */
.fa-sorttabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 6px;max-width:640px}
.fa-sorttab{display:flex;flex-direction:column;gap:2px;padding:11px 16px;border-radius:var(--pb-r-card);
  border:1px solid var(--pb-border);background:var(--pb-surface);box-shadow:var(--pp-card-glow);
  text-align:left;cursor:pointer;transition:border-color var(--pp-t-ui) var(--pp-ease)}
.fa-sorttab:hover{border-color:var(--pb-accent-border)}
.fa-sorttab[aria-pressed="true"]{border-color:var(--pb-kind-air-ink);box-shadow:inset 0 0 0 1px var(--pb-kind-air-ink),var(--pp-card-glow)}
.fa-sorttab b{font-size:var(--pb-fs-body);color:var(--pb-text)}
.fa-sorttab span{font-size:var(--pb-fs-caption);color:var(--pb-muted);font-variant-numeric:tabular-nums}
@media (max-width:640px){
  .fa-sorttabs{gap:7px}
  .fa-sorttab{padding:9px 11px}
}

/* ── results layout: rail + list ─────────────────────────────── */
.fa-results{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start}
.fa-railwrap{position:sticky;top:calc(var(--pp-nav-h-solid) + 14px)}
.fa-rail{display:flex;flex-direction:column;gap:15px;padding:18px;border-radius:var(--pb-r-card-lg);
  border:1px solid var(--pb-border);background:var(--pb-surface);box-shadow:var(--pp-card-glow);
  max-height:calc(100vh - var(--pp-nav-h-solid) - 28px);overflow:auto;overscroll-behavior:contain}
.fa-rail .pp-popgroup-h{margin-bottom:0}
.fa-railgroup{display:flex;flex-direction:column;gap:9px;padding-top:14px;border-top:1px solid var(--pb-border)}
.fa-railgroup:first-child{padding-top:0;border-top:0}
.fa-checkrow{display:flex;align-items:center;gap:10px;font-size:var(--pb-fs-body-s);color:var(--pb-text-2);cursor:pointer}
.fa-checkrow input{accent-color:var(--pb-accent);width:16px;height:16px;flex:none}
.fa-checkrow .fa-count{margin-left:auto;font-size:var(--pb-fs-caption);color:var(--pb-faint);font-variant-numeric:tabular-nums}
.fa-filterchip-row{display:none;margin:14px 0 2px}
@media (max-width:1024px){
  .fa-results{grid-template-columns:minmax(0,1fr)}
  .fa-railwrap{display:none}
  .fa-filterchip-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
}

/* the streaming line */
.fa-streamline{display:flex;align-items:center;gap:12px;margin:14px 0 4px;min-height:22px}
.fa-streamline .pp-bar{flex:0 0 140px}
.fa-streamnote{font-size:var(--pb-fs-caption);color:var(--pb-muted)}

/* ── journey card — the instrument ───────────────────────────── */
.fa-jlist{display:flex;flex-direction:column;gap:14px;margin-top:14px}
.fa-jcard{display:block;width:100%;text-align:left;cursor:pointer;padding:18px 20px;
  border-radius:var(--pb-r-card-lg);border:1px solid var(--pb-border);background:var(--pb-surface);
  box-shadow:var(--pp-card-glow);color:var(--pb-text);
  transition:border-color var(--pp-t-ui) var(--pp-ease),box-shadow var(--pp-t-ui) var(--pp-ease)}
.fa-jcard:hover{border-color:var(--pb-accent-border);box-shadow:var(--pp-card-glow-hover)}
.fa-jcard:focus-visible{outline:2px solid var(--pb-accent);outline-offset:2px}
.fa-jlegs{display:flex;flex-direction:column;gap:14px}
.fa-jleg{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1.4fr) minmax(0,1.6fr);gap:18px;align-items:center}
.fa-jtimes{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.fa-jtimes b{font-size:22px;font-weight:700;letter-spacing:var(--pb-ls-tighter);font-variant-numeric:tabular-nums}
.fa-jtimes .fa-dash{color:var(--pb-muted);font-weight:400}
.fa-jroute{display:flex;align-items:center;gap:7px;font-size:var(--pb-fs-meta);color:var(--pb-muted);
  font-family:ui-monospace,Menlo,monospace;letter-spacing:.04em;margin-top:3px}
.fa-jroute .fa-arrow{font-family:var(--pb-font)}
.fa-jmid{display:flex;flex-direction:column;gap:3px}
.fa-jdur{font-size:var(--pb-fs-body);font-weight:600;color:var(--pb-text);font-variant-numeric:tabular-nums}
.fa-jstops{font-size:var(--pb-fs-caption);color:var(--pb-muted)}
.fa-jstops.is-nonstop{color:var(--pb-accent-ink)}
.fa-jair{display:flex;align-items:center;gap:9px;min-width:0}
.fa-jair-name{font-size:var(--pb-fs-body-s);color:var(--pb-text-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fa-jair-op{display:block;font-size:var(--pb-fs-caption);color:var(--pb-faint);margin-top:1px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fa-carrier{width:30px;height:30px;flex:none;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--pb-kind-air-ink) 12%, transparent);color:var(--pb-kind-air-ink);
  font-size:10.5px;font-weight:800;letter-spacing:.03em;overflow:hidden}
.fa-carrier img{width:100%;height:100%;object-fit:contain;display:block}
.fa-jfoot{display:flex;align-items:center;gap:14px;margin-top:15px;padding-top:13px;border-top:1px solid var(--pb-border);flex-wrap:wrap}
.fa-glyphs{display:flex;align-items:center;gap:9px;color:var(--pb-muted)}
.fa-glyphs svg{display:block}
.fa-jprice{margin-left:auto;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.fa-jprice b{font-size:var(--pb-fs-lead);font-weight:700;letter-spacing:var(--pb-ls-tight);font-variant-numeric:tabular-nums}
.fa-usual{font-size:var(--pb-fs-meta);color:var(--pb-faint);text-decoration:line-through;font-variant-numeric:tabular-nums}
.fa-jprice .pp-cap{white-space:nowrap}
@media (max-width:900px){
  .fa-jcard{padding:15px 16px}
  .fa-jleg{grid-template-columns:minmax(0,1fr) auto;gap:8px}
  .fa-jmid{grid-column:2;grid-row:1;text-align:right;align-items:flex-end}
  .fa-jair{grid-column:1 / -1;margin-top:2px}
  .fa-jtimes b{font-size:19px}
}

/* ── segment timeline (flight.html) ──────────────────────────── */
.fa-tl{position:relative;display:flex;flex-direction:column;gap:0}
.fa-tlseg{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;position:relative;padding:4px 0}
.fa-tlseg::before{content:"";position:absolute;left:8px;top:26px;bottom:-2px;width:2px;border-radius:2px;
  background:color-mix(in srgb, var(--pb-kind-air-ink) 45%, transparent)}
.fa-tlseg:last-child::before{display:none}
.fa-tldot{width:18px;height:18px;margin-top:5px;border-radius:50%;flex:none;position:relative;z-index:1;
  border:2px solid var(--pb-kind-air-ink);background:var(--pb-surface)}
.fa-tlrow{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.fa-tlrow b{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:var(--pb-ls-tighter)}
.fa-tlrow .fa-tlport{font-size:var(--pb-fs-body);color:var(--pb-text-2)}
.fa-tlrow .fa-tlcode{font-family:ui-monospace,Menlo,monospace;font-size:11.5px;color:var(--pb-kind-air-ink);font-weight:700}
.fa-tlmeta{display:flex;align-items:center;gap:9px;margin:7px 0 9px;font-size:var(--pb-fs-caption);color:var(--pb-muted);flex-wrap:wrap}
.fa-tlamen{display:flex;align-items:center;gap:11px;margin:2px 0 12px;color:var(--pb-muted);font-size:var(--pb-fs-caption);flex-wrap:wrap}
.fa-tlamen span{display:inline-flex;align-items:center;gap:5px}
.fa-layover{display:inline-flex;align-items:center;gap:8px;margin:8px 0 12px;padding:7px 13px;
  border-radius:var(--pb-r-pill);border:1px dashed var(--pb-border-strong);background:var(--pb-inset);
  font-size:var(--pb-fs-meta);color:var(--pb-text-2);font-weight:500}
.fa-layover.is-warn{border-color:var(--pb-amber-ink);color:var(--pb-amber-ink)}

/* ── fare comparison ─────────────────────────────────────────── */
.fa-fares{display:grid;grid-template-columns:repeat(var(--fa-fare-cols,3),minmax(0,1fr));gap:14px;align-items:stretch}
.fa-fare{display:flex;flex-direction:column;gap:0;padding:18px;border-radius:var(--pb-r-card-lg);
  border:1px solid var(--pb-border);background:var(--pb-surface);box-shadow:var(--pp-card-glow);position:relative;
  transition:border-color var(--pp-t-ui) var(--pp-ease)}
.fa-fare:hover{border-color:var(--pb-accent-border)}
.fa-fare.is-on{border-color:var(--pb-accent-ink);box-shadow:inset 0 0 0 2px var(--pb-accent-ink),var(--pp-card-glow)}
.fa-fare-fam{font-size:var(--pb-fs-body);font-weight:700;letter-spacing:var(--pb-ls-tight)}
.fa-fare-price{display:flex;align-items:baseline;gap:8px;margin-top:8px;flex-wrap:wrap}
.fa-fare-price b{font-size:24px;font-weight:700;letter-spacing:var(--pb-ls-tighter);font-variant-numeric:tabular-nums}
.fa-fare-rows{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid var(--pb-border);flex:1}
.fa-fare-row{display:flex;align-items:flex-start;gap:9px;font-size:var(--pb-fs-body-s);color:var(--pb-text-2)}
.fa-fare-row .fa-yes{color:var(--pb-accent-ink);flex:none;font-weight:700}
.fa-fare-row .fa-no{color:var(--pb-faint);flex:none}
.fa-fare-row .fa-fee{color:var(--pb-amber-ink);flex:none;font-weight:700}
.fa-fare-terms{display:flex;flex-direction:column;gap:6px;margin-top:12px}
.fa-term{font-size:var(--pb-fs-caption);line-height:1.5}
.fa-term.is-info{color:var(--pb-text-2)}
.fa-term.is-warning{color:var(--pb-amber-ink)}
.fa-term.is-danger{color:var(--pb-coral-ink)}
.fa-fare .pp-btn{margin-top:15px}
.fa-cheapest{position:absolute;top:-9px;left:14px;display:inline-flex;align-items:center;height:20px;padding:0 9px;
  border-radius:var(--pb-r-pill);background:var(--pb-accent);color:var(--pb-on-accent);
  font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
@media (max-width:900px){.fa-fares{grid-template-columns:minmax(0,1fr)}}

/* price breakdown */
.fa-breakrow{display:flex;justify-content:space-between;gap:14px;padding:7px 0;font-size:var(--pb-fs-body-s);color:var(--pb-text-2);font-variant-numeric:tabular-nums}
.fa-breakrow.is-total{border-top:1px solid var(--pb-border);margin-top:6px;padding-top:12px;
  font-size:var(--pb-fs-row);font-weight:700;color:var(--pb-text)}
.fa-disc{border:1px solid var(--pb-border);border-radius:var(--pb-r-nested);background:var(--pb-inset)}
.fa-disc summary{cursor:pointer;padding:12px 14px;font-size:var(--pb-fs-body-s);font-weight:600;color:var(--pb-text);
  display:flex;align-items:center;gap:9px;list-style:none}
.fa-disc summary::-webkit-details-marker{display:none}
.fa-disc summary::after{content:"▾";margin-left:auto;color:var(--pb-muted);transition:transform var(--pp-t-ui) var(--pp-ease)}
.fa-disc[open] summary::after{transform:rotate(180deg)}
.fa-disc-body{padding:2px 14px 13px}

/* verify pending + price-change dialog */
.fa-pending{display:flex;align-items:center;gap:12px;font-size:var(--pb-fs-body);color:var(--pb-text-2)}
.fa-spin{width:17px;height:17px;flex:none;border-radius:50%;border:2px solid var(--pb-border-strong);
  border-top-color:var(--pb-accent);animation:ppSpin 800ms linear infinite}
@media (prefers-reduced-motion:reduce){.fa-spin{animation:none;border-top-color:var(--pb-border-strong)}}
.fa-dialog-back{position:fixed;inset:0;z-index:140;background:rgba(8,12,20,.66);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:22px}
.fa-dialog{width:min(480px,100%);padding:24px;border-radius:var(--pb-r-xl);
  background:var(--pb-surface);border:1px solid var(--pb-border-strong);box-shadow:var(--pp-overlay-shadow)}
.fa-pricepair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.fa-pricecell{padding:13px 15px;border-radius:var(--pb-r-nested);border:1px solid var(--pb-border);background:var(--pb-inset)}
.fa-pricecell b{display:block;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:var(--pb-ls-tight);margin-top:3px}
.fa-pricecell.is-new{border-color:var(--pb-kind-air-ink)}
.fa-dialog-acts{display:flex;gap:10px;margin-top:18px}
.fa-dialog-acts .pp-btn{flex:1}
@media (max-width:640px){.fa-dialog-back{align-items:flex-end;padding:0}
  .fa-dialog{border-radius:var(--pb-r-sheet) var(--pb-r-sheet) 0 0;border-bottom:0;padding-bottom:calc(24px + env(safe-area-inset-bottom))}}

/* sticky phone footer (detail + checkout) */
.fa-stickycta{display:none}
@media (max-width:900px){
  .fa-stickycta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;gap:14px;
    padding:11px var(--pp-gutter) calc(11px + env(safe-area-inset-bottom));
    background:var(--pp-glass-strong);border-top:1px solid var(--pb-border);
    -webkit-backdrop-filter:var(--pp-glass-blur);backdrop-filter:var(--pp-glass-blur)}
  .fa-stickycta .fa-total{display:flex;flex-direction:column;min-width:0}
  .fa-stickycta .fa-total b{font-size:17px;font-variant-numeric:tabular-nums;letter-spacing:var(--pb-ls-tight)}
  .fa-stickycta .pp-btn{flex:none;margin-left:auto}
  .fa-haspad{padding-bottom:92px}
}

/* ── checkout ────────────────────────────────────────────────── */
.fa-co-grid{display:grid;grid-template-columns:minmax(0,1fr) 372px;gap:34px;align-items:start}
.fa-co-side{position:sticky;top:calc(var(--pp-nav-h-solid) + 16px)}
@media (max-width:960px){
  .fa-co-grid{grid-template-columns:1fr;gap:20px}
  .fa-co-side{position:static;order:-1}
}
.fa-hold{display:flex;align-items:center;gap:8px;font-size:var(--pb-fs-caption);color:var(--pb-text-2);
  margin-top:13px;padding-top:12px;border-top:1px solid var(--pb-border)}
.fa-hold b{font-variant-numeric:tabular-nums;color:var(--pb-text)}
.fa-hold.is-expired{color:var(--pb-coral-ink)}
.fa-field{display:block}
.fa-field > span{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.fa-field input,.fa-field select{width:100%;height:42px;padding:0 14px;border-radius:var(--pb-r-pill);font:inherit;
  border:1px solid var(--pb-border-strong);background:var(--pb-inset);color:var(--pb-text);
  transition:border-color var(--pp-t-ui) var(--pp-ease),box-shadow var(--pp-t-ui) var(--pp-ease)}
.fa-field input:focus-visible,.fa-field select:focus-visible{outline:none;border-color:var(--pb-accent-border);box-shadow:0 0 0 3px var(--pb-accent-tint)}
.fa-field .fa-err{font-size:12.5px;color:var(--pb-coral-ink);margin-top:5px;min-height:1px}
.fa-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-top:14px}
.fa-fields .is-wide{grid-column:1 / -1}
@media (max-width:520px){.fa-fields{grid-template-columns:1fr}}
.fa-pax{padding:18px 20px;border-radius:var(--pb-r-card-lg);border:1px solid var(--pb-border);
  background:var(--pb-surface);box-shadow:var(--pp-card-glow)}
.fa-pax + .fa-pax{margin-top:14px}
.fa-costep{display:none}
.fa-costep.is-on{display:block}
.fa-sumrow{display:flex;justify-content:space-between;gap:14px;margin-top:9px;font-size:14px;font-variant-numeric:tabular-nums}
.fa-sumrow.is-total{margin-top:13px;padding-top:13px;border-top:1px solid var(--pb-border);font-size:17px;font-weight:800}
.fa-sumrow .fa-live{transition:opacity 180ms var(--pp-ease)}
.fa-minileg{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--pb-border);font-size:var(--pb-fs-body-s)}
.fa-minileg:first-child{border-top:0}
.fa-minileg b{font-variant-numeric:tabular-nums}
.fa-minileg .fa-jroute{margin:0}

/* seats */
.fa-seatsec{padding:18px 20px;border-radius:var(--pb-r-card-lg);border:1px solid var(--pb-border);
  background:var(--pb-surface);box-shadow:var(--pp-card-glow)}
.fa-seatsec + .fa-seatsec{margin-top:14px}
.fa-seatmap-back{position:fixed;inset:0;z-index:140;background:rgba(8,12,20,.66);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:22px}
.fa-seatmap{width:min(560px,100%);max-height:calc(100dvh - 44px);overflow:auto;overscroll-behavior:contain;
  background:var(--pb-surface);border:1px solid var(--pb-border-strong);border-radius:var(--pb-r-xl);
  box-shadow:var(--pp-overlay-shadow);padding:20px 22px;display:flex;flex-direction:column;gap:14px}
@media (max-width:640px){
  .fa-seatmap-back{align-items:flex-end;padding:0}
  .fa-seatmap{width:100%;max-height:92dvh;border-radius:var(--pb-r-sheet) var(--pb-r-sheet) 0 0;border-bottom:0;
    padding-bottom:calc(20px + env(safe-area-inset-bottom))}
}
.fa-paxtabs{display:flex;gap:7px;flex-wrap:wrap}
.fa-fuselage{margin:4px auto 0;padding:22px 18px 30px;max-width:320px;width:100%;
  border:1px solid var(--pb-border-strong);border-radius:48px 48px 22px 22px;background:var(--pb-inset)}
.fa-seatrow{display:grid;grid-template-columns:repeat(3,1fr) 18px repeat(3,1fr);gap:6px;align-items:center;margin-top:6px}
.fa-seatrow.is-exit{margin-top:14px;position:relative}
.fa-seatrow.is-exit::before{content:"EXIT";position:absolute;top:-11px;left:-14px;font-size:8px;font-weight:700;
  letter-spacing:.14em;color:var(--pb-amber-ink)}
.fa-seatrow.is-exit::after{content:"EXIT";position:absolute;top:-11px;right:-14px;font-size:8px;font-weight:700;
  letter-spacing:.14em;color:var(--pb-amber-ink)}
.fa-rownum{font-size:9.5px;color:var(--pb-faint);text-align:center;font-variant-numeric:tabular-nums}
.fa-seat{aspect-ratio:1/1.05;border-radius:7px 7px 4px 4px;border:1px solid var(--pb-border-strong);
  background:var(--pb-surface);font-size:8.5px;font-weight:600;color:var(--pb-muted);
  display:inline-flex;align-items:flex-end;justify-content:center;padding-bottom:2px;cursor:pointer;
  font-variant-numeric:tabular-nums;transition:background var(--pp-t-ui) var(--pp-ease),border-color var(--pp-t-ui) var(--pp-ease)}
.fa-seat:hover:not(:disabled){border-color:var(--pb-kind-air-ink)}
.fa-seat.is-incl{border-color:color-mix(in srgb, var(--pb-accent-ink) 50%, transparent)}
.fa-seat:disabled{background:var(--pb-border);border-color:var(--pb-border);color:transparent;cursor:not-allowed}
.fa-seat.is-mine{background:#2DD4BF;border-color:#2DD4BF;color:#0E1420;font-weight:800}
.fa-seat.is-other{background:var(--pb-accent-tint-strong);border-color:var(--pb-accent-border);color:var(--pb-accent-ink)}
.fa-seatlegend{display:flex;gap:15px;flex-wrap:wrap;font-size:var(--pb-fs-caption);color:var(--pb-muted)}
.fa-seatlegend span{display:inline-flex;align-items:center;gap:7px}
.fa-seatlegend i{width:13px;height:13px;border-radius:4px;border:1px solid var(--pb-border-strong);flex:none}
.fa-seatlegend i.l-incl{border-color:color-mix(in srgb, var(--pb-accent-ink) 50%, transparent)}
.fa-seatlegend i.l-mine{background:#2DD4BF;border-color:#2DD4BF}
.fa-seatlegend i.l-occ{background:var(--pb-border);border-color:var(--pb-border)}
.fa-seatfoot{display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--pb-border);flex-wrap:wrap}
.fa-seatfoot b{font-variant-numeric:tabular-nums}

/* bags */
.fa-bagrow{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--pb-border)}
.fa-bagrow:first-child{border-top:0}
.fa-bagrow .fa-bagsay{flex:1;min-width:0}
.fa-bagrow .fa-bagsay b{font-size:var(--pb-fs-body)}

/* pay */
.fa-paycard{max-width:520px}
.fa-testcards{margin-top:12px;padding:11px 14px;border-radius:var(--pb-r-nested);border:1px dashed var(--pb-border-strong);
  background:var(--pb-inset);font-size:var(--pb-fs-caption);color:var(--pb-muted);line-height:1.6}
.fa-testcards code{font-family:ui-monospace,Menlo,monospace;color:var(--pb-text-2)}
.fa-decline{margin-top:14px;padding:13px 15px;border-radius:var(--pb-r-nested);
  border:1px solid color-mix(in srgb, var(--pb-coral-ink) 45%, transparent);
  background:color-mix(in srgb, var(--pb-coral-ink) 7%, var(--pb-surface));
  font-size:var(--pb-fs-body-s);color:var(--pb-text-2)}
.fa-decline b{color:var(--pb-coral-ink)}

/* ── confirmation ────────────────────────────────────────────── */
.fa-pnr{display:inline-flex;align-items:center;gap:14px;margin-top:18px;padding:16px 22px;
  border-radius:var(--pb-r-card-lg);border:1px solid var(--pb-border-strong);background:var(--pb-surface);
  box-shadow:var(--pp-card-glow)}
.fa-pnr b{font-family:ui-monospace,Menlo,monospace;font-size:34px;font-weight:700;letter-spacing:.14em}
.fa-itin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:900px){.fa-itin{grid-template-columns:minmax(0,1fr)}}
.fa-itincard{border-radius:var(--pb-r-card-lg);overflow:hidden;border:1px solid var(--pb-border);
  background:var(--pb-surface);box-shadow:var(--pp-card-glow)}
.fa-itincard .pp-photo{aspect-ratio:21/9}
.fa-itin-onphoto{position:absolute;left:18px;right:18px;bottom:14px;z-index:2;color:#F2F6FB}
.fa-itin-onphoto .fa-jtimes b{font-size:26px;color:#F2F6FB}
.fa-itin-onphoto .fa-jroute{color:#C7D2E2}
.fa-itin-body{padding:14px 18px 16px;display:flex;flex-direction:column;gap:7px}
.fa-conf-table{width:100%;border-collapse:collapse;font-size:var(--pb-fs-body-s)}
.fa-conf-table th{text-align:left;font-size:var(--pb-fs-caption);font-weight:600;letter-spacing:var(--pb-ls-kicker);
  text-transform:uppercase;color:var(--pb-muted);padding:7px 12px 7px 0;border-bottom:1px solid var(--pb-border)}
.fa-conf-table td{padding:9px 12px 9px 0;border-bottom:1px solid var(--pb-border);color:var(--pb-text-2)}
.fa-conf-table tr:last-child td{border-bottom:0}

/* ── bookings page rows ──────────────────────────────────────── */
.fa-bkglyph{width:34px;height:34px;flex:none;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--pb-kind-air-ink) 12%, transparent);color:var(--pb-kind-air-ink)}
.fa-pnrchip{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:var(--pb-r-chip);
  border:1px solid var(--pb-border-strong);background:var(--pb-inset);
  font-family:ui-monospace,Menlo,monospace;font-size:11.5px;font-weight:600;letter-spacing:.08em;color:var(--pb-text-2)}

/* ── states gallery ──────────────────────────────────────────── */
.fs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:20px;align-items:start}
@media (max-width:1024px){.fs-grid{grid-template-columns:minmax(0,1fr)}}
.fs-cell{display:flex;flex-direction:column;gap:10px;min-width:0}
.fs-cell > .pp-kicker{color:var(--pb-kind-air-ink)}

/* compact sticky search summary on results */
.fa-summary{position:sticky;top:var(--pp-nav-h-solid);z-index:38;background:var(--pb-bg);
  padding:12px 0 12px;border-bottom:1px solid var(--pb-border)}
.fa-summary-in{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fa-sumseg{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 15px;border-radius:var(--pb-r-pill);
  border:1px solid var(--pb-border-strong);background:var(--pb-surface);box-shadow:var(--pp-card-glow);
  font-size:var(--pb-fs-body-s);font-weight:600;color:var(--pb-text);cursor:pointer;
  transition:border-color var(--pp-t-ui) var(--pp-ease)}
.fa-sumseg:hover{border-color:var(--pb-accent-border)}
.fa-sumseg .pp-cap{font-weight:500}
@media (max-width:640px){
  .fa-summary-in{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
    margin-inline:calc(var(--pp-gutter) * -1);padding-inline:var(--pp-gutter)}
  .fa-summary-in::-webkit-scrollbar{display:none}
  .fa-sumseg{flex:none}
}
