/* NovaFly Journey Desk
   A tactile travel-document surface for the enquiry flow. Glass remains a
   supporting material elsewhere; the working form itself is deliberately
   opaque for clarity, trust and reliable mobile compositing. */

.journey-desk{
  --jd-canvas:#f3f0e9;
  --jd-paper:#fcf8ee;
  --jd-paper-strong:#fffdf7;
  --jd-ink:#101a29;
  --jd-heading:#091629;
  --jd-soft:#697080;
  --jd-label:#5f6571;
  --jd-line:rgba(9,22,41,.15);
  --jd-line-gold:rgba(167,123,35,.34);
  --jd-gold:#c89b38;
  --jd-gold-deep:#966b16;
  --jd-gold-pale:#ecd58f;
  --jd-field:rgba(255,255,255,.42);
  --jd-field-hover:rgba(255,255,255,.68);
  --jd-invalid:#fff0ec;
  --jd-shadow:0 34px 85px rgba(37,31,20,.14),0 2px 8px rgba(37,31,20,.05);
  --form-bg:var(--jd-paper);
  --form-bg-solid:var(--jd-paper);
  --form-input-bg:var(--jd-field);
  --form-input-border:var(--jd-line);
  --form-input-hover-border:rgba(150,107,22,.55);
  --form-input-focus-border:var(--jd-gold);
  --form-input-focus-glow:0 0 0 3px rgba(200,155,56,.13);
  --form-field-hover:var(--jd-field-hover);
  --form-heading:var(--jd-heading);
  --form-text:var(--jd-ink);
  --form-soft:var(--jd-soft);
  --form-label:var(--jd-label);
  --form-divider:var(--jd-line);
  --form-option-hover:rgba(200,155,56,.11);
  --form-btn-bg:rgba(255,255,255,.48);
  --form-btn-border:var(--jd-line);
  --form-btn-color:var(--jd-ink);
  --form-invalid-bg:var(--jd-invalid);
  position:relative;
  z-index:21;
  isolation:isolate;
  margin-top:-1px;
  padding:0 0 clamp(78px,7vw,110px);
  background:var(--jd-canvas);
  color:var(--jd-ink);
}
.journey-desk::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:-112px;
  left:0;
  right:0;
  height:113px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(7,15,28,0),var(--jd-canvas) 90%);
}
[data-theme="dark"] .journey-desk{
  --jd-canvas:#0b1c31;
  --jd-paper:#10253d;
  --jd-paper-strong:#142b45;
  --jd-ink:#f7f7f5;
  --jd-heading:#fff;
  --jd-soft:#a9b2c0;
  --jd-label:#aeb6c2;
  --jd-line:rgba(255,255,255,.14);
  --jd-line-gold:rgba(236,213,143,.3);
  --jd-gold:#d5ad55;
  --jd-gold-deep:#e0bf74;
  --jd-gold-pale:#f0dc9e;
  --jd-field:rgba(255,255,255,.035);
  --jd-field-hover:rgba(255,255,255,.06);
  --jd-invalid:rgba(174,55,48,.16);
  --jd-shadow:0 38px 90px rgba(0,0,0,.35),0 2px 8px rgba(0,0,0,.2);
}

.journey-desk .search-dock{z-index:2;margin-top:-54px;scroll-margin-top:116px;}
.journey-desk .search-card,
.journey-desk .search-card.popover-open{
  position:relative;
  isolation:isolate;
  overflow:visible;
  padding:0;
  border:1px solid var(--jd-line-gold);
  border-radius:24px 24px 16px 16px;
  background:var(--jd-paper);
  box-shadow:var(--jd-shadow);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.journey-desk .search-card::before{
  display:block;
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  pointer-events:none;
  opacity:.22;
  background:
    repeating-linear-gradient(101deg,transparent 0 52px,rgba(120,88,27,.035) 53px,transparent 54px 105px),
    linear-gradient(120deg,rgba(255,255,255,.18),transparent 38%);
}
[data-theme="dark"] .journey-desk .search-card::before{opacity:.1;}
.journey-desk .search-card::after{display:none;}

.journey-desk-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
  padding:30px 34px 22px;
  border-bottom:1px solid var(--jd-line);
}
.journey-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 7px;
  color:var(--jd-gold-deep);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.journey-kicker>span{width:6px;height:6px;border-radius:50%;background:var(--jd-gold);box-shadow:0 0 12px rgba(200,155,56,.72);}
.journey-desk-header h2,
.journey-step-two-head h3{
  margin:0;
  color:var(--jd-heading);
  font-family:'Fraunces',serif;
  font-weight:550;
  letter-spacing:-.035em;
}
.journey-desk-header h2{font-size:clamp(30px,3.4vw,45px);line-height:1.05;}
.journey-desk-header p,
.journey-step-two-head p{max-width:650px;margin:8px 0 0;color:var(--jd-soft);font-size:14px;line-height:1.55;}
.journey-progress{display:flex;gap:0;margin:0;padding:0;list-style:none;flex-shrink:0;}
.journey-progress li{position:relative;display:grid;gap:2px;min-width:96px;padding:2px 0 11px 18px;color:var(--jd-soft);border-bottom:1px solid var(--jd-line);}
.journey-progress li:first-child{padding-left:0;}
.journey-progress li strong{font-family:'Fraunces',serif;font-size:23px;font-weight:520;line-height:1;color:inherit;}
.journey-progress li span{font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;}
.journey-progress li.is-current{color:var(--jd-gold-deep);border-bottom-color:var(--jd-gold);}

.journey-step[hidden]{display:none!important;}
.journey-step{padding:0 34px 28px;}
.journey-step h3[tabindex="-1"]:focus{outline:0;}
.journey-step.is-entering{animation:journey-step-enter .3s cubic-bezier(.2,.72,.2,1) both;}
@keyframes journey-step-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.journey-desk .search-tabs{display:flex;gap:25px;margin:0;padding:17px 0 0;border-bottom:1px solid var(--jd-line);flex-wrap:nowrap;}
.journey-desk .search-tab{
  position:relative;
  min-height:43px;
  padding:0 0 11px;
  border:0;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--jd-soft);
  font-size:12px;
  font-weight:750;
  letter-spacing:.015em;
  transition:color .2s ease;
}
.journey-desk .search-tab:hover:not(.active){background:transparent;color:var(--jd-heading);}
.journey-desk .search-tab.active{color:var(--jd-heading);}
.journey-desk .search-tab.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--jd-gold);transform-origin:left;animation:journey-line-arrive .42s cubic-bezier(.2,.72,.2,1) both;}
@keyframes journey-line-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.journey-desk .search-fields{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) 46px minmax(0,1.55fr) 12px minmax(138px,1.05fr) minmax(138px,1.05fr) minmax(128px,.92fr) minmax(128px,.92fr);
  gap:8px;
  align-items:stretch;
  padding:16px 0 0;
}
.journey-desk .field{
  min-height:72px;
  padding:11px 14px;
  border:1px solid var(--jd-line);
  border-radius:10px;
  background:var(--jd-field);
  box-shadow:none;
  transform:none;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.journey-desk .field:hover{border-color:rgba(150,107,22,.48);background:var(--jd-field-hover);box-shadow:none;transform:none;}
.journey-desk .field:focus-within{border-color:var(--jd-gold);background:var(--jd-field-hover);box-shadow:0 0 0 3px rgba(200,155,56,.12);transform:none;}
.journey-desk .field label,
.journey-desk .field .field-label{display:block;margin-bottom:5px;color:var(--jd-label);font-size:9px;font-weight:800;letter-spacing:.11em;line-height:1.2;text-transform:uppercase;white-space:nowrap;}
.journey-desk .field input,
.journey-desk .field textarea,
.journey-desk .date-trigger,
.journey-desk .pax-trigger,
.journey-desk .cabin-trigger{color:var(--jd-ink);font-size:14px;font-weight:650;}
.journey-desk .field textarea{white-space:normal;overflow:auto;text-overflow:clip;line-height:1.5;resize:vertical;}
.journey-desk .field input::placeholder,
.journey-desk .field textarea::placeholder{color:var(--jd-soft);font-weight:500;}
.journey-desk .field-location-icon{color:var(--jd-gold-deep);}
.journey-desk .field-divider{background:var(--jd-line);}
.journey-desk .swap-btn{width:42px;height:42px;border-color:var(--jd-line);background:var(--jd-paper-strong);color:var(--jd-ink);box-shadow:0 5px 14px rgba(31,27,20,.07);}
.journey-desk .swap-btn:hover{border-color:transparent;background:linear-gradient(135deg,var(--jd-gold),var(--jd-gold-pale));}
.journey-desk .field.is-invalid{border-color:rgba(180,64,55,.55);background:var(--jd-invalid);}

.journey-desk .multi-city-fields{grid-column:1/-1;grid-row:auto;gap:9px;}
.journey-desk .multi-city-legs{gap:9px;}
.journey-desk .multi-leg{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(160px,.65fr) 42px;gap:8px;padding:11px;border:1px solid var(--jd-line);border-radius:12px;background:rgba(255,255,255,.22);}
.journey-desk .multi-leg::before{content:"Flight " attr(data-leg-number);position:absolute;top:-7px;left:15px;padding:0 6px;background:var(--jd-paper);color:var(--jd-gold-deep);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.journey-desk .multi-leg .field{min-height:63px;}
.journey-desk .multi-leg-remove{width:40px;height:40px;background:var(--jd-paper-strong);border-color:var(--jd-line);color:var(--jd-ink);}
.journey-desk .multi-add-btn{min-height:46px;border-color:var(--jd-line-gold);border-radius:9px;color:var(--jd-gold-deep);}
.journey-desk .search-card.is-multi-trip .journey-popular{display:none;}

.journey-popular{
  display:flex;
  align-items:center;
  gap:12px;
  margin:13px 0 0;
  padding:10px 2px 4px;
  overflow:hidden;
}
.journey-popular .popular-routes-label{color:var(--jd-label);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;}
.journey-popular .popular-routes-list{display:flex;align-items:center;gap:8px;min-width:0;}
.journey-popular .popular-route{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:35px;
  padding:5px 10px;
  border:0;
  border-bottom:1px solid var(--jd-line);
  border-radius:0;
  background:transparent;
  color:var(--jd-ink);
  font-size:12px;
  font-weight:650;
  white-space:nowrap;
  transition:color .2s ease,border-color .2s ease,background .2s ease;
}
.journey-popular .popular-route:hover{color:var(--jd-gold-deep);border-color:var(--jd-gold);background:rgba(200,155,56,.06);}
.journey-popular .popular-route .icon{width:12px;height:12px;color:var(--jd-gold-deep);}
.journey-popular .popular-route small{color:var(--jd-gold-deep);font-size:9px;font-weight:850;letter-spacing:.07em;}

.journey-step-actions,
.journey-desk .form-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:19px;
  padding:18px 0 0;
  border-top:1px solid var(--jd-line);
}
.journey-assurance{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--jd-soft);font-size:11px;font-weight:650;}
.journey-assurance span{display:inline-flex;align-items:center;gap:6px;}
.journey-assurance .icon{width:14px;height:14px;color:var(--jd-gold-deep);}
.journey-continue,
.journey-desk .search-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:220px;
  min-height:52px;
  padding:12px 22px;
  overflow:hidden;
  border:0;
  border-radius:10px;
  background:linear-gradient(118deg,var(--jd-gold),var(--jd-gold-pale),var(--jd-gold));
  background-size:180% 100%;
  color:#111a27;
  box-shadow:0 12px 28px rgba(154,113,25,.22);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:transform .25s cubic-bezier(.16,.8,.24,1),box-shadow .25s ease,background-position .45s ease;
}
.journey-continue:hover,
.journey-desk .search-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(154,113,25,.3);background-position:100% 0;}
.journey-continue:focus-visible,
.journey-desk .search-btn:focus-visible{outline:3px solid rgba(200,155,56,.35);outline-offset:3px;}

.journey-step-two{padding-top:24px;}
.journey-step-two-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;}
.journey-step-two-head h3{font-size:clamp(25px,3vw,36px);line-height:1.08;}
.journey-back{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:7px 0;border:0;border-bottom:1px solid var(--jd-line-gold);background:transparent;color:var(--jd-gold-deep);font-size:12px;font-weight:750;cursor:pointer;}
.journey-summary{
  display:grid;
  grid-template-columns:1.2fr 1fr 1.25fr auto;
  gap:20px;
  align-items:center;
  width:100%;
  min-height:74px;
  margin-top:20px;
  padding:13px 16px;
  border:1px solid var(--jd-line);
  border-radius:10px;
  background:var(--jd-field);
  color:var(--jd-ink);
  text-align:left;
  cursor:pointer;
}
.journey-summary:hover{border-color:var(--jd-line-gold);background:var(--jd-field-hover);}
.journey-summary span{display:flex;flex-direction:column;gap:4px;min-width:0;}
.journey-summary small{color:var(--jd-label);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;}
.journey-summary strong{overflow:hidden;color:var(--jd-heading);font-size:13px;text-overflow:ellipsis;white-space:nowrap;}
.journey-summary em{color:var(--jd-gold-deep);font-size:12px;font-style:normal;font-weight:800;}
.journey-desk .details-divider{margin:22px 0 0;padding:0;}
.journey-desk .details-divider span{padding:0 10px;background:var(--jd-paper);color:var(--jd-label);font-size:9px;letter-spacing:.14em;}
.journey-desk .details-fields{display:grid;grid-template-columns:1.15fr 1.2fr 1fr;gap:9px;padding:15px 0 0;}
.journey-desk .details-fields .field{min-height:68px;}
.journey-desk .details-fields .field-full{grid-column:1/-1;min-height:96px;}
.journey-desk .details-fields .field-full label span{font-weight:550;letter-spacing:0;text-transform:none;}
.journey-desk .form-actions{margin-top:15px;padding:18px 0 0;flex-wrap:nowrap;}
.journey-desk .form-action-context{flex:1;min-width:0;}
.journey-human-note{display:flex;align-items:center;gap:10px;color:var(--jd-ink);}
.journey-human-note>.icon{width:18px;height:18px;color:var(--jd-gold-deep);flex-shrink:0;}
.journey-human-note>span{display:flex;flex-direction:column;gap:2px;}
.journey-human-note strong{font-size:12px;}
.journey-human-note small{color:var(--jd-soft);font-size:11px;}
.journey-desk .form-status{margin-top:8px;color:var(--jd-soft);}
.journey-desk .search-btn{height:auto;min-width:245px;}

/* Portalled pickers leave the Journey Desk subtree, so carry the paper
   tokens on the portalled nodes as well. */
:where(.airport-dropdown,.calendar-pop,.pax-pop,.cabin-pop)[data-portaled]{
  --form-heading:#091629;
  --form-text:#101a29;
  --form-soft:#697080;
  --form-label:#5f6571;
  --form-divider:rgba(9,22,41,.15);
  --form-option-hover:rgba(200,155,56,.11);
  --form-btn-bg:rgba(255,255,255,.48);
  --form-btn-border:rgba(9,22,41,.15);
  --form-btn-color:#101a29;
  --form-code:#966b16;
  --gold-deep:#966b16;
  --gold-light:#ecd58f;
  background-color:#fffdf7!important;
  border-color:rgba(9,22,41,.15);
  box-shadow:0 24px 65px rgba(23,20,15,.24);
  overflow:auto;
  overflow-anchor:none;
}
[data-theme="dark"] :where(.airport-dropdown,.calendar-pop,.pax-pop,.cabin-pop)[data-portaled]{
  --form-heading:#fff;
  --form-text:#f7f7f5;
  --form-soft:#a9b2c0;
  --form-label:#aeb6c2;
  --form-divider:rgba(255,255,255,.14);
  --form-option-hover:rgba(236,213,143,.1);
  --form-btn-bg:rgba(255,255,255,.04);
  --form-btn-border:rgba(255,255,255,.16);
  --form-btn-color:#fff;
  --form-code:#e0bf74;
  --gold-deep:#e0bf74;
  --gold-light:#f0dc9e;
  background-color:#10253d!important;
  border-color:rgba(255,255,255,.14);
  box-shadow:0 28px 75px rgba(0,0,0,.43);
}
.journey-desk .airport-dropdown,
.journey-desk .calendar-pop,
.journey-desk .pax-pop,
.journey-desk .cabin-pop{border-radius:13px;background-color:var(--jd-paper-strong)!important;}
.journey-desk .airport-option,
.airport-dropdown[data-portaled] .airport-option{min-height:57px;border-radius:8px;}
.journey-desk .airport-option .aname,
.airport-dropdown[data-portaled] .airport-option .aname{font-size:13px;}
.journey-desk .airport-option .aplace,
.airport-dropdown[data-portaled] .airport-option .aplace{white-space:normal;}
.journey-desk .cabin-option,
.cabin-pop[data-portaled] .cabin-option{width:100%;border:0;background:transparent;text-align:left;}
.journey-desk .cabin-option[aria-selected="true"],
.cabin-pop[data-portaled] .cabin-option[aria-selected="true"]{background:var(--form-option-hover);}
.airport-sheet-head,
.picker-sheet-head{display:none;}
.nearest-airport-action{
  display:flex;
  align-items:center;
  gap:8px;
  width:calc(100% - 16px);
  min-height:43px;
  margin:8px;
  padding:8px 11px;
  border:0;
  border-top:1px solid var(--form-divider);
  background:transparent;
  color:var(--form-code);
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.airport-sheet-search-wrap{display:none;}

@media(max-width:1100px){
  .journey-desk .search-fields{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr);}
  .journey-desk #fieldFrom{grid-column:1;}
  .journey-desk .swap-btn{display:flex;grid-column:2;grid-row:1;}
  .journey-desk #fieldTo{grid-column:3;}
  .journey-desk .field-divider{display:none;}
  .journey-desk #fieldDepart{grid-column:1;grid-row:2;}
  .journey-desk #fieldReturn{grid-column:2/4;grid-row:2;}
  .journey-desk #fieldPax{grid-column:1;grid-row:3;}
  .journey-desk #fieldCabin{grid-column:2/4;grid-row:3;}
  .journey-desk .search-fields.is-oneway #fieldDepart{grid-column:1/4;}
  .journey-desk .multi-city-fields{grid-column:1/-1;}
}

@media(min-width:1101px){
  .journey-desk #fieldFrom{grid-column:1;}
  .journey-desk .swap-btn{grid-column:2;}
  .journey-desk #fieldTo{grid-column:3;}
  .journey-desk .field-divider{grid-column:4;}
  .journey-desk #fieldDepart{grid-column:5;}
  .journey-desk #fieldReturn{grid-column:6;}
  .journey-desk #fieldPax{grid-column:7;}
  .journey-desk #fieldCabin{grid-column:8;}
  .journey-desk .search-fields.is-oneway #fieldDepart{grid-column:5/7;}
}

@media(max-width:760px){
  .journey-desk{padding-bottom:70px;}
  .journey-desk .search-dock{width:calc(100% - 24px);margin-top:-28px;}
  .journey-desk .search-card{border-radius:22px 22px 14px 14px;}
  .journey-desk-header{position:relative;display:block;padding:24px 20px 18px;}
  .journey-desk-header .journey-kicker{min-height:24px;padding-right:82px;}
  .journey-desk-header h2{max-width:none;font-size:28px;}
  .journey-desk-header p{font-size:12.5px;line-height:1.48;}
  .journey-progress{position:absolute;top:22px;right:20px;}
  .journey-progress li{min-width:auto;padding-left:10px;}
  .journey-progress li span{display:none;}
  .journey-progress li strong{font-size:22px;}
  .journey-step{padding:0 20px 22px;}
  .journey-desk .search-tabs{gap:0;justify-content:space-between;padding-top:13px;}
  .journey-desk .search-tab{flex:1;min-height:45px;font-size:12px;}
  .journey-desk .search-tab.active::after{left:16px;right:16px;}
  .journey-desk .search-fields{grid-template-columns:1fr 1fr;gap:8px;padding-top:14px;}
  .journey-desk #fieldFrom,
  .journey-desk #fieldTo{grid-column:1/-1;}
  .journey-desk #fieldFrom{grid-row:1;}
  .journey-desk #fieldTo{grid-row:2;}
  .journey-desk .swap-btn{display:flex;position:absolute;right:18px;top:64px;z-index:3;grid-column:auto;grid-row:auto;width:44px;height:44px;}
  .journey-desk #fieldDepart{grid-column:1;grid-row:3;}
  .journey-desk #fieldReturn{grid-column:2;grid-row:3;}
  .journey-desk #fieldPax{grid-column:1;grid-row:4;}
  .journey-desk #fieldCabin{grid-column:2;grid-row:4;}
  .journey-desk .search-fields.is-oneway #fieldDepart{grid-column:1/-1;}
  .journey-desk .field{min-height:64px;padding:10px 12px;}
  .journey-desk .field-airport{min-height:68px;padding-right:54px;}
  .journey-desk .multi-city-fields{grid-column:1/-1;grid-row:auto;}
  .journey-desk .multi-leg{grid-template-columns:1fr 1fr;padding:10px;}
  .journey-desk .multi-leg .field-date{grid-column:1/-1;}
  .journey-desk .multi-leg-remove{position:absolute;right:8px;top:-8px;z-index:2;}
  .journey-popular{align-items:flex-start;gap:8px;margin-top:10px;overflow:hidden;}
  .journey-popular .popular-routes-label{display:none;}
  .journey-popular .popular-routes-list{overflow-x:auto;padding:0 1px 6px;scrollbar-width:none;}
  .journey-popular .popular-routes-list::-webkit-scrollbar{display:none;}
  .journey-step-actions{align-items:stretch;flex-direction:column-reverse;gap:15px;margin-top:12px;padding-top:15px;}
  .journey-continue{width:100%;min-height:54px;}
  .journey-assurance{justify-content:center;gap:8px 13px;font-size:10px;}
  .journey-step-two{padding-top:20px;}
  .journey-step-two-head{gap:12px;}
  .journey-step-two-head h3{font-size:27px;}
  .journey-step-two-head p{font-size:12px;}
  .journey-back{white-space:nowrap;}
  .journey-summary{position:relative;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
  .journey-summary span:first-child{grid-column:1/-1;padding-right:40px;}
  .journey-summary em{position:absolute;right:14px;top:15px;}
  .journey-desk .details-fields{grid-template-columns:1fr;gap:8px;}
  .journey-desk .details-fields .field-full{grid-column:auto;}
  .journey-desk .form-actions{align-items:stretch;flex-direction:column-reverse;gap:14px;margin-top:14px;}
  .journey-desk .search-btn{width:100%;min-height:55px;}
  .journey-human-note{justify-content:center;}

  body.journey-sheet-open{overflow:hidden;overscroll-behavior:none;}
  body.journey-sheet-open .sticky-wa,
  body.journey-desk-visible .sticky-wa{opacity:0!important;pointer-events:none!important;transform:translateY(12px) scale(.86)!important;}
  .airport-dropdown[data-portaled],
  .calendar-pop[data-portaled]{
    position:fixed!important;
    inset:0!important;
    display:flex;
    flex-direction:column;
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    max-height:none!important;
    padding:0 18px calc(18px + env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    opacity:1;
    visibility:visible;
    transform:none!important;
    transform-origin:center;
  }
  .pax-pop[data-portaled],
  .cabin-pop[data-portaled]{
    position:fixed!important;
    top:auto!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:100%!important;
    max-width:none!important;
    max-height:min(82dvh,690px)!important;
    padding:0 18px calc(18px + env(safe-area-inset-bottom))!important;
    overflow:auto!important;
    border:0!important;
    border-radius:22px 22px 0 0!important;
    box-shadow:0 -12px 48px rgba(0,0,0,.24),0 0 0 100vmax rgba(3,12,23,.62)!important;
    opacity:1;
    visibility:visible;
    transform:none!important;
  }
  .airport-sheet-head,
  .picker-sheet-head{
    display:flex;
    align-items:center;
    gap:13px;
    min-height:82px;
    padding-top:env(safe-area-inset-top);
    border-bottom:1px solid var(--form-divider);
    flex-shrink:0;
  }
  .airport-sheet-head button,
  .picker-sheet-head button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:1px solid var(--form-divider);
    border-radius:50%;
    background:var(--form-btn-bg);
    color:var(--form-btn-color);
    font-size:20px;
  }
  .airport-sheet-head span,
  .picker-sheet-head span{display:flex;flex-direction:column;gap:2px;}
  .airport-sheet-head small,
  .picker-sheet-head small{color:var(--form-code);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
  .airport-sheet-head strong,
  .picker-sheet-head strong{color:var(--form-heading);font-family:'Fraunces',serif;font-size:23px;font-weight:550;}
  .airport-sheet-search-wrap{display:flex;align-items:center;gap:10px;min-height:56px;margin:15px 0 6px;padding:0 14px;border:1px solid var(--form-code);border-radius:10px;background:var(--form-btn-bg);flex-shrink:0;}
  .airport-sheet-search-wrap .icon{width:17px;height:17px;color:var(--form-code);}
  .airport-sheet-search{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--form-text);font-size:16px;}
  .airport-results-host{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 0 10px;}
  .airport-dropdown[data-portaled]>.airport-group-label,
  .airport-dropdown[data-portaled]>.airport-option,
  .airport-dropdown[data-portaled]>.airport-empty{display:none;}
  .airport-dropdown[data-portaled] .airport-option{display:grid;grid-template-columns:28px 40px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-width:0;min-height:62px;padding:9px 10px;border-bottom:1px solid var(--form-divider);border-radius:0;box-sizing:border-box;}
  .airport-dropdown[data-portaled] .airport-option .meta{display:grid;min-width:0;overflow:hidden;}
  .airport-dropdown[data-portaled] .airport-option .aname,
  .airport-dropdown[data-portaled] .airport-option .aplace{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .airport-dropdown[data-portaled] .airport-option:hover,
  .airport-dropdown[data-portaled] .airport-option.is-active{transform:none;}
  .airport-dropdown[data-portaled] .nearest-airport-action{width:100%;min-height:48px;margin:0;padding:10px 4px;border-top:1px solid var(--form-divider);flex-shrink:0;}
  .calendar-pop[data-portaled] .cal-head{margin:17px 0 14px;}
  .calendar-pop[data-portaled] .cal-head .cal-title{font-size:19px;}
  .calendar-pop[data-portaled] .cal-weekdays{margin-bottom:9px;}
  .calendar-pop[data-portaled] .cal-days{gap:5px;}
  .calendar-pop[data-portaled] .cal-day{min-height:44px;aspect-ratio:auto;font-size:15px;}
  .calendar-pop[data-portaled] .cal-foot{margin-top:auto;padding:16px 0 0;text-align:left;}
  .pax-pop[data-portaled] .picker-sheet-head,
  .cabin-pop[data-portaled] .picker-sheet-head{position:sticky;top:0;z-index:2;background:inherit;}
  .pax-pop[data-portaled] .pax-row{min-height:74px;}
  .pax-pop[data-portaled] .pax-done{min-height:52px;margin-top:16px;}
  .cabin-pop[data-portaled] .cabin-option{min-height:56px;border-bottom:1px solid var(--form-divider);border-radius:0;}
}

@media(max-width:380px){
  .journey-desk .search-dock{width:calc(100% - 16px);}
  .journey-desk-header{padding-inline:16px;}
  .journey-progress{right:16px;}
  .journey-step{padding-inline:16px;}
  .journey-desk-header h2{font-size:27px;}
  .journey-assurance{gap:7px 10px;font-size:9px;}
}

@media(prefers-reduced-motion:reduce){
  .journey-desk *,
  .airport-dropdown[data-portaled],
  .calendar-pop[data-portaled],
  .pax-pop[data-portaled],
  .cabin-pop[data-portaled]{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
}
