/* Flight composition only: canonical Market Search Board owns visual tokens. */
.utp-flight-search { display:grid; gap:var(--utp-space-4); }
.utp-flight-search__form.utp-search-board { grid-template-areas:"from to dates dates" "passengers cabin client submit"; }
.utp-flight-search__from { grid-area:from; }
.utp-flight-search__to { grid-area:to; }
.utp-flight-search__dates { grid-area:dates; }
.utp-flight-search__passengers { grid-area:passengers; }
.utp-flight-search__cabin { grid-area:cabin; }
.utp-flight-search__client { grid-area:client; }
.utp-flight-search__submit { grid-area:submit; }
.utp-flight-search__date-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--utp-space-3); }
.utp-flight-search__toolbar { display:flex; justify-content:space-between; align-items:center; gap:var(--utp-space-3); margin-bottom:var(--utp-space-3); }
.utp-flight-search__trip-types { display:flex; flex-wrap:wrap; gap:var(--utp-space-2); }
.utp-flight-search__trip,.utp-flight-search__advanced { border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; padding:var(--utp-space-2) var(--utp-space-3); border-radius:var(--utp-ui-radius-control); }
.utp-flight-search__trip.is-active { background:var(--utp-color-primary,#F5793B); color:white; }
.utp-flight-search__search-button { background:transparent; border:0; color:inherit; font:inherit; font-weight:700; cursor:pointer; width:100%; text-align:left; }
.utp-flight-search__search-button:disabled { opacity:.5; cursor:not-allowed; }
.utp-flight-search__placeholder { display:block; font-weight:700; }
.utp-flight-search__advanced-panel,.utp-flight-search__mode-note { margin:var(--utp-space-3) 0 0; color:var(--utp-color-text-muted,#aab7c8); }
.utp-flight-search__offer { padding:var(--utp-space-3) 0; border-bottom:var(--utp-border-width) solid var(--utp-color-border); }
.utp-flight-search__offer-head { display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--utp-space-2); }
.utp-flight-search__message { color:var(--utp-color-danger); }
@media(max-width:980px){.utp-flight-search__form.utp-search-board { grid-template-areas:"from to" "dates dates" "passengers cabin" "client submit"; grid-template-columns:repeat(2,minmax(0,1fr)); }}
/* Route-specific layout only; visual controls inherit canonical Platform field tokens. */
.utp-flight-search__multi-routes { grid-column:1/-1; display:grid; gap:var(--utp-space-3); }
.utp-flight-search__multi-routes[hidden] { display:none; }
.utp-flight-search__multi-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--utp-space-3); }
@media(max-width:980px){.utp-flight-search__multi-row { grid-template-columns:1fr; }}

/* Flight-only composition of the canonical Platform Guests popover primitives. */
.utp-flight-search__passengers .utp-guests-selector,.utp-flight-search__cabin .utp-guests-selector { position:relative; }
.utp-flight-search__passengers .utp-field__trigger,.utp-flight-search__cabin .utp-field__trigger { width:100%; text-align:left; border:0; background:transparent; color:inherit; font:inherit; cursor:pointer; padding:0; }
.utp-flight-search__passengers .utp-guests-selector__panel,.utp-flight-search__cabin .utp-guests-selector__panel { left:0; max-width:min(420px,90vw); }
.utp-flight-search__cabin-option { display:block; width:100%; text-align:left; border:0; background:transparent; color:inherit; font:inherit; padding:var(--utp-space-3); cursor:pointer; }
.utp-flight-search__cabin-option:hover { background:var(--utp-color-surface-hover,var(--utp-color-surface)); }
.utp-flight-search [data-flight-panel][hidden] { display:none; }

/* Multi-city: compose extra slices from canonical UTP Search Board cards. */
.utp-flight-search__multi-row .utp-search-card { min-width:0; }
.utp-flight-search__multi-row .utp-search-card__content { min-width:0; }
.utp-flight-search__multi-row .utp-field__input { width:100%; min-width:0; }
.utp-flight-search--multi .utp-flight-search__dates [name="return_date"] { visibility:hidden; pointer-events:none; }
.utp-flight-search--multi .utp-flight-search__dates .utp-date-range-picker__second { visibility:hidden; pointer-events:none; }

/* Flight Results: presentation only. Canonical Search Board and booking POST are unchanged. */
.utp-flight-results{display:grid;gap:var(--utp-space-3,12px);padding:var(--utp-space-4,16px) 0}
.utp-flight-results__heading{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:12px;padding:8px 4px}
.utp-flight-results__heading h2{margin:4px 0 0;font-size:24px;color:#1b293e}
.utp-flight-results__heading h2 small{font-size:14px;font-weight:500;color:#718096}
.utp-flight-results__eyebrow,.utp-flight-results__price-label{font-size:10px;font-weight:800;letter-spacing:.07em;color:#f5793b}
.utp-flight-results__card{background:#fff;border:1px solid #dce3ec;border-radius:18px;overflow:hidden;color:#1b293e}
.utp-flight-results__body{display:grid;grid-template-columns:minmax(150px,22%) minmax(0,1fr);gap:22px;padding:22px 24px}
.utp-flight-results__carrier{display:flex;gap:12px;align-items:center;font-size:15px}
.utp-flight-results__carrier-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f4f6f9;color:#f5793b;font-size:23px}
.utp-flight-results__journeys{display:grid;gap:12px}
.utp-flight-results__journey+.utp-flight-results__journey{padding-top:12px;border-top:1px solid #e8edf2}
.utp-flight-results__route{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:14px}
.utp-flight-results__route strong{font-size:17px;margin-right:auto}
.utp-flight-results__route span{color:#63758c}
.utp-flight-results__segments{display:grid;gap:5px;margin-top:8px}
.utp-flight-results__segment{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:#66778b}
.utp-flight-results__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e8edf2;background:#fafbfc;padding:14px 24px}
.utp-flight-results__footer>div{display:grid;gap:2px}
.utp-flight-results__price{font-size:24px;line-height:1.15}
.utp-flight-results__price small{font-size:13px}
.utp-flight-results__footer form{margin:0}
@media(max-width:760px){.utp-flight-results__body{grid-template-columns:1fr;padding:16px;gap:12px}.utp-flight-results__footer{padding:14px 16px}}

/* Flight results: readable local departure/arrival times and dates. */
.utp-flight-results__times{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.utp-flight-results__times strong{color:#1b293e;font-size:13px}
.utp-flight-results__times small{color:#66778b;font-size:11px}

/* Flight details / fare selection (supplier-backed, read-only until continue). */
.utp-flight-fare{margin:20px 0;padding:24px;background:#fff;border:1px solid #dbe2eb;border-radius:20px;color:#192536}
.utp-flight-fare__heading,.utp-flight-fare__route,.utp-flight-fare__option,.utp-flight-fare__segment{display:flex;justify-content:space-between;gap:18px;align-items:center}
.utp-flight-fare__heading{margin-bottom:22px}.utp-flight-fare__heading h2{margin:5px 0;font-size:26px}.utp-flight-fare__heading p,.utp-flight-fare__option p{color:#657489;font-size:13px}
.utp-flight-fare__total{text-align:right;white-space:nowrap}.utp-flight-fare__total small{display:block;color:#7a8797;font-size:10px;font-weight:700}.utp-flight-fare__total strong{font-size:24px}
.utp-flight-fare__journey{border:1px solid #dbe2eb;border-radius:14px;margin-bottom:12px;overflow:hidden}.utp-flight-fare__route{padding:15px 18px;background:#f5f7fa}.utp-flight-fare__segment{padding:15px 18px;border-top:1px solid #e8edf2}.utp-flight-fare__segment>div{flex:1;min-width:0}.utp-flight-fare__segment strong,.utp-flight-fare__segment span{display:block}.utp-flight-fare__segment span{color:#6c7b8e;font-size:12px;margin-top:5px}
.utp-flight-fare__option{padding:20px;border:1px solid #ffb69e;border-radius:14px;margin:20px 0;background:#fffaf8}.utp-flight-fare__option h3{margin:7px 0}.utp-flight-fare__option>strong{white-space:nowrap;font-size:20px}.utp-flight-fare__actions{display:flex;justify-content:flex-end}
@media(max-width:760px){.utp-flight-fare__heading,.utp-flight-fare__segment,.utp-flight-fare__option{flex-direction:column;align-items:flex-start}.utp-flight-fare__total{text-align:left}}

/* Flight booking follows the canonical Hotels Guest Details hierarchy. */
.utp-flight-booking{display:grid;gap:42px;padding:24px 0 32px;color:#1b293e}
.utp-flight-booking .utp-booking-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.utp-flight-booking .utp-booking-header__title{margin:8px 0;font-size:38px;line-height:1.15;color:#192536}
.utp-flight-booking .utp-booking-header__description{margin:8px 0;color:#718096}
.utp-flight-booking__overview{display:flex;justify-content:space-between;gap:30px;padding:28px 30px;border:1px solid #dce3e9;border-left:4px solid #f5793b;border-radius:20px;background:linear-gradient(105deg,#f9f3f0,#f6f8fa)}
.utp-flight-booking__overview-main{min-width:0}.utp-flight-booking__overview h2{font-size:18px;margin:8px 0 14px}
.utp-flight-booking__route{margin:10px 0;color:#27364a}.utp-flight-booking__segment,.utp-flight-booking__rules{font-size:13px;color:#728096;margin:7px 0}.utp-flight-booking__fare{margin:14px 0 5px}
.utp-flight-booking__price{align-self:center;text-align:right;white-space:nowrap}.utp-flight-booking__price span{display:block;color:#8491a1;font-size:11px;font-weight:700;letter-spacing:.06em}.utp-flight-booking__price strong{font-size:25px;color:#172335}
.utp-flight-booking__ownership,.utp-flight-booking__travellers{padding:28px 24px;border:1px solid #dfe4ea;border-radius:18px;background:#fff}
.utp-flight-booking__ownership h2{margin:0 0 10px;font-size:20px}.utp-flight-booking__ownership>p{color:#78869a;margin:0 0 28px}
.utp-flight-booking__ownership-fields{display:flex;gap:24px;flex-wrap:wrap}.utp-flight-booking__ownership-fields>div{display:grid;gap:8px}.utp-flight-booking__ownership-fields span{font-size:12px;font-weight:700;color:#4b596d}.utp-flight-booking__ownership-fields strong{padding:12px 16px;border:1px solid #dce3ea;border-radius:10px;font-weight:500}.utp-flight-booking__ownership-fields small{color:#78869a}
.utp-flight-booking__travellers form{display:flex;flex-wrap:wrap;align-items:end;gap:16px}.utp-flight-booking__travellers form>.utp-field{min-width:220px;flex:1}.utp-flight-booking__travellers .utp-select{width:100%;min-height:42px}.utp-flight-booking__travellers h4{margin-top:0}
@media(max-width:800px){.utp-flight-booking{gap:20px}.utp-flight-booking__overview{flex-direction:column}.utp-flight-booking__price{text-align:left;align-self:flex-start}.utp-flight-booking .utp-booking-header__title{font-size:30px}}

/* Traveller details: Hotel Guest Details hierarchy, without changing flight passenger payload. */
.utp-flight-booking__ownership-fields{display:grid;grid-template-columns:minmax(180px,230px) minmax(240px,390px);gap:14px;align-items:start}
.utp-flight-booking__ownership-field{display:grid;gap:9px;min-width:0}
.utp-flight-booking__ownership-field>span,.utp-flight-booking__profile-field>span{font-size:12px;font-weight:700;color:#44546a}
.utp-flight-booking__ownership-field .utp-select,.utp-flight-booking__profile-field .utp-select{width:100%;min-height:48px;padding:10px 14px;background:#fff;border:1px solid #d7dfe7;border-radius:10px;color:#263449;font:inherit}
.utp-flight-booking__ownership-field .utp-select:disabled{opacity:1;color:#526174;background:#f6f8fa}
.utp-flight-booking__ownership-field small{color:#77869a;font-size:11px}
.utp-flight-booking__passenger-form{display:grid!important;gap:22px!important;align-items:stretch!important}
.utp-flight-booking__passenger-card{padding:22px;border:1px solid #e0e6ed;border-radius:16px;background:#f9fafc;display:grid;gap:12px}
.utp-flight-booking__passenger-card h3{margin:0;font-size:19px;color:#192536}
.utp-flight-booking__profile-field{display:grid;gap:9px;max-width:510px}
.utp-flight-booking__profile-note{margin:0;color:#78869a;font-size:12px}
.utp-flight-booking__passenger-form>.utp-btn{justify-self:end}
@media(max-width:760px){.utp-flight-booking__ownership-fields{grid-template-columns:1fr}.utp-flight-booking__passenger-card{padding:16px}}

/* Duffel traveller fields: match the existing UTP booking inputs and country picker. */
.utp-flight-booking__passenger-card .utp-flight-booking__ownership-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:end}
.utp-flight-booking__passenger-card .utp-flight-booking__ownership-field,.utp-flight-booking__passenger-card .utp-flight-booking__country-field{min-width:0;display:flex;flex-direction:column;gap:8px}
.utp-flight-booking__passenger-card .utp-input,.utp-flight-booking__passenger-card .utp-select,.utp-flight-booking__profile-search,.utp-flight-booking__passenger-card .utp-platform-country-picker__input{box-sizing:border-box;width:100%;height:46px;min-height:46px;padding:10px 14px;background:#fff;border:1px solid #d7dfe7;border-radius:10px;color:#263449;font:inherit;font-size:14px;box-shadow:none}
.utp-flight-booking__passenger-card .utp-input:focus,.utp-flight-booking__profile-search:focus{outline:2px solid #f5793b33;border-color:#f5793b}
.utp-flight-booking__passenger-card .utp-platform-country-picker{margin:0}
.utp-flight-booking__passenger-card .utp-platform-country-picker__control{width:100%}
.utp-flight-booking__passenger-card .utp-platform-country-picker__input{padding-right:42px}
.utp-flight-booking__passenger-card .utp-booking-field__label{font-size:12px;font-weight:700;color:#44546a;margin-bottom:8px}
.utp-flight-booking__profile-field{max-width:none;grid-column:1/-1}
.utp-flight-booking__profile-search{max-width:100%}
.utp-flight-booking__profile-field .utp-select{max-width:100%;margin-top:4px}
@media(max-width:1000px){.utp-flight-booking__passenger-card .utp-flight-booking__ownership-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.utp-flight-booking__passenger-card .utp-flight-booking__ownership-fields{grid-template-columns:1fr}}

/* Single Hotel-style Traveller autocomplete; the native select remains hidden for POST compatibility. */
.utp-flight-booking__profile-field{position:relative;max-width:none}
.utp-flight-booking__profile-field>label{font-size:12px;font-weight:700;color:#44546a}
.utp-flight-booking__profile-field select[data-flight-profile-select]{display:none!important}
.utp-flight-booking__profile-results{position:absolute;z-index:35;top:100%;left:0;width:min(620px,100%);max-height:240px;overflow:auto;background:#fff;border:1px solid rgba(11,22,34,.14);border-radius:12px;box-shadow:0 16px 38px rgba(11,22,34,.14);padding:6px}
.utp-flight-booking__profile-results[hidden]{display:none!important}
.utp-flight-booking__profile-result{display:block;width:100%;text-align:left;border:0;background:#fff;padding:11px 12px;border-radius:7px;font:inherit;font-size:14px;color:#263449;cursor:pointer}
.utp-flight-booking__profile-result:hover,.utp-flight-booking__profile-result:focus{background:#fff0e8;outline:none}
.utp-flight-booking__profile-empty{padding:11px 12px;font-size:13px;color:#78869a}

/* Booking Summary: same UTP booking language, compact review before Sandbox confirmation. */
.utp-flight-summary__heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.utp-flight-summary__heading h2{font-size:21px;font-weight:600;margin:7px 0 0;color:#192536}
.utp-flight-summary__test-tag{font-size:11px;letter-spacing:.045em;font-weight:700;color:#9a562e;background:#fff2e9;padding:8px 12px;border-radius:20px}
.utp-flight-summary__ownership{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px}
.utp-flight-summary__ownership>div,.utp-flight-summary__contact{display:grid;gap:7px;padding:17px 19px;border:1px solid #e0e6ed;border-radius:13px;background:#fafbfc}
.utp-flight-summary__ownership span,.utp-flight-summary__facts span,.utp-flight-summary__contact>span{font-size:12px;color:#7b889a;font-weight:600}
.utp-flight-summary__ownership strong,.utp-flight-summary__facts strong,.utp-flight-summary__contact strong{font-size:14px;font-weight:600;color:#233149}
.utp-flight-summary__section-title{font-size:18px;font-weight:600;color:#192536;margin:0 0 14px}
.utp-flight-summary__passengers{display:grid;gap:12px}
.utp-flight-summary__passenger{padding:18px 20px;border:1px solid #e0e6ed;border-radius:14px;background:#f9fafc}
.utp-flight-summary__passenger h4{font-size:17px;font-weight:600;margin:7px 0 17px;color:#192536}
.utp-flight-summary__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.utp-flight-summary__facts>div{display:grid;gap:6px}
.utp-flight-summary__contact{margin-top:16px}
.utp-flight-summary__contact small{font-size:12px;color:#7b889a}
.utp-flight-summary__notice{font-size:13px;line-height:1.5;color:#6c788a;margin:22px 0 16px}
.utp-flight-summary__actions{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px solid #e8edf2}
.utp-flight-booking__travellers .utp-flight-summary__actions form{display:flex;gap:12px;flex-wrap:wrap}
.utp-flight-booking__travellers .utp-flight-summary__confirm{display:grid;justify-items:end;gap:13px}
.utp-flight-summary__ack{display:flex;align-items:center;gap:9px;font-size:12px;color:#526174;cursor:pointer}
.utp-flight-summary__ack input{accent-color:#f5793b;width:16px;height:16px;margin:0}
@media(max-width:700px){.utp-flight-summary__ownership{grid-template-columns:1fr}.utp-flight-summary__facts{grid-template-columns:repeat(2,minmax(0,1fr))}.utp-flight-summary__actions{align-items:stretch}.utp-flight-booking__travellers .utp-flight-summary__confirm{justify-items:stretch}}
