/* Libra Jet enquiry: itinerary first, preferences and contact second. */
.flight-request { padding-block: 9.5rem 3rem; color: var(--text); }
.flight-request *, .flight-request *::before, .flight-request *::after { box-sizing: border-box; }
.flight-disclosure > .flight-launch { list-style: none; cursor: pointer; max-width: 100%; justify-content: space-between; text-align: start; }
.flight-launch::-webkit-details-marker { display: none; }
.flight-launch-icon { flex: none; width: 1rem; font-size: 1.2rem; line-height: 1; text-align: center; }
.flight-launch-icon::before { content: '+'; }
.flight-disclosure[open] > .flight-launch .flight-launch-icon::before { content: '−'; }
.flight-disclosure > .flight-panel { margin-top: 2rem; }
.flight-panel { padding: clamp(1.5rem,4vw,3.5rem); border: 1px solid oklch(65% .09 84 / .3); border-radius: 1rem; background: oklch(17% .035 246); box-shadow: 0 18px 60px #0002; }
.flight-heading, .flight-toolbar, .flight-next-row, .flight-send-row, .flight-summary { display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; }
.flight-heading { margin-bottom: 2.5rem; }
.flight-heading .eyebrow { margin-bottom: .4rem; }
.flight-heading h2 { margin: 0; font: 400 clamp(1.4rem,3vw,2rem)/1.3 var(--font-display); color: var(--text); }
.flight-heading p:not(.eyebrow) { color: var(--text-dim); margin: .5rem 0 0; font-size: .85rem; }
.flight-progress { display: flex; gap: 1rem; list-style: none; padding: 0; color: var(--text-dim); font-size: .75rem; white-space: nowrap; }
.flight-progress [aria-current] { color: var(--gold-bright); }
.flight-modes { display: flex; border: 0; gap: .4rem; min-width: 0; padding: 0; }
.flight-type { position: relative; cursor: pointer; }
.flight-type input { position: absolute; opacity: 0; }
.flight-type span { display: block; padding: .65rem .9rem; border: 1px solid var(--line); border-radius: .5rem; font-size: .8rem; color: var(--text-dim); }
.flight-type input:checked + span { color: var(--gold-bright); background: oklch(24% .038 246); border-color: var(--gold-bright); }
.flight-type input:focus-visible + span { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.flight-toolbar { margin-bottom: 2rem; }
.flight-toolbar > .flight-field { width: 12rem; }
.flight-field { min-width: 0; }
.flight-field label { display: block; font-size: .75rem; font-weight: 500; color: var(--text-dim); margin-bottom: .5rem; }
.flight-field label [aria-hidden] { color: var(--gold-bright); }
.flight-field :is(input,select,textarea) { appearance: auto; display: block; width: 100%; min-width: 0; min-inline-size: 0; min-height: 3.15rem; padding: .8rem .65rem; font: 400 .9rem/1.3 var(--font-body); color: var(--text); border: 1px solid oklch(46% .026 246); background: oklch(21% .035 246); border-radius: .45rem; color-scheme: dark; }
.flight-field input::placeholder, .flight-field textarea::placeholder { color: oklch(72% .022 246); opacity: 1; }
.flight-field :is(input,select,textarea):focus { outline: 2px solid var(--gold-bright); outline-offset: 2px; }
.flight-field [aria-invalid="true"] { border-color: #f5a6a0; }
.flight-field input[readonly] { color: var(--text-dim); }
.flight-leg { min-width: 0; border: 0; padding: 0; margin: 1.75rem 0; position: relative; }
.flight-leg legend { font-size: .75rem; color: var(--gold-bright); padding: .35rem 0 .7rem; }
[data-trip-type="one-way"] .flight-leg:first-child legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.flight-leg-grid { display: grid; grid-template-columns: minmax(0,1fr) 150px 110px 85px; gap: .8rem; align-items: end; }
.flight-route { display: flex; align-items: end; gap: .6rem; min-width: 0; }
.flight-route .flight-field { flex: 1; }
.flight-swap { flex-shrink: 0; width: 2.3rem; height: 3.15rem; color: var(--gold-bright); background: transparent; border: 0; font-size: 1.3rem; cursor: pointer; }
.flight-swap:focus-visible, .flight-text-button:focus-visible, .flight-remove:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.flight-remove { display: block; margin: .5rem 0 0 auto; border: 0; background: transparent; color: var(--text-dim); font: inherit; font-size: .75rem; text-decoration: underline; cursor: pointer; }
.flight-location { position: relative; }
.flight-suggestions { position: absolute; z-index: 100; top: 100%; inset-inline: 0; margin: .4rem 0 0; padding: .35rem; list-style: none; max-height: 20rem; overflow-y: auto; overscroll-behavior: contain; min-width: min(320px,70vw); border: 1px solid oklch(50% .04 246); border-radius: .5rem; background: oklch(20% .035 246); box-shadow: 0 12px 30px #0008; }
.flight-suggestions li { cursor: pointer; padding: .75rem .65rem; border-radius: .3rem; color: var(--text); font-size: .85rem; }
.flight-suggestions li small { display: block; color: var(--text-dim); font-size: .7rem; margin-top: .25rem; }
.flight-suggestions li[aria-selected="true"], .flight-suggestions li:hover { background: oklch(30% .045 246); color: var(--gold-bright); }
.flight-text-button { border: 0; padding: .6rem 0; background: transparent; color: var(--gold-bright); font: inherit; font-size: .85rem; cursor: pointer; text-decoration: underline; text-underline-offset: .25rem; }
.flight-add-row { display: flex; gap: 1rem; align-items: center; }
.flight-add-row p, .flight-help, .flight-next-row p, .flight-send-row p { font-size: .75rem; color: var(--text-dim); line-height: 1.6; margin: .6rem 0; }
.flight-next-row { margin-top: 2rem; }
.flight-next-row p { max-width: 65ch; }
.flight-next-row .btn, .flight-send-row .btn { white-space: nowrap; }
.flight-details { scroll-margin-top: 7rem; border: 0; padding: 0; min-width: 0; }
.flight-details h3 { font: 400 1.25rem var(--font-display); margin: 2.75rem 0 1.5rem; color: var(--text); }
.flight-summary { padding: 1rem 0; border-block: 1px solid var(--line); align-items: start; }
.flight-summary h3 { margin: 0 0 .6rem; }
.flight-summary ol { padding-inline-start: 1.25rem; font-size: .8rem; color: var(--text-dim); line-height: 1.8; }
.flight-summary .flight-text-button { flex-shrink: 0; }
.flight-preferences-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.flight-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; margin-bottom: 1.75rem; }
.flight-checks { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin: 1.2rem 0; font-size: .85rem; }
.flight-checks label { min-height: 44px; display: flex; gap: .6rem; align-items: center; }
.flight-checks input { accent-color: var(--gold-bright); width: 1.1rem; height: 1.1rem; }
.flight-send-row { margin-top: 2rem; align-items: start; }
.flight-send-row p { max-width: 62ch; margin: 0; }
.flight-optional { font-weight: normal; }
.flight-status { font-size: .9rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: .4rem; line-height: 1.7; }
.flight-status[data-state="error"] { color: #ffd6d2; border-color: #c77771; }
.flight-status[data-state="success"] { color: #c0edce; border-color: #6aa57c; }
.flight-honeypot, .flight-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.flight-request [hidden] { display: none !important; }
/* The widget provides the header clearance before the following page hero. */
.flight-request + .jet-service-hero { padding-top: clamp(4rem,7vw,6rem); }
.flight-request + .jet-hero .jet-hero-inner { padding-top: clamp(4rem,7vw,6rem); }
[dir="rtl"] .flight-remove { margin-right: auto; margin-left: 0; }
[dir="rtl"] .flight-field input[type="email"], [dir="rtl"] .flight-field input[type="tel"] { direction: ltr; text-align: right; }
@media (max-width:1100px) {
 .flight-leg-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr) 90px; }
 .flight-route { grid-column: 1/-1; }
 .flight-progress { white-space: normal; }
 .flight-preferences-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px) {
 .flight-request { padding-top: 7rem; }
 .flight-heading { display: block; }
 .flight-progress { font-size: .7rem; margin: 1rem 0 0; }
 .flight-toolbar { flex-wrap: wrap; gap: .8rem; }
 .flight-toolbar > .flight-field { width: 100%; }
 .flight-type { flex: 1; text-align: center; }
 .flight-modes { width: 100%; gap: .3rem; }
 .flight-type span { padding: .65rem .5rem; font-size: .75rem; }
 .flight-route { display: grid; gap: 1.25rem .5rem; grid-template-columns: minmax(0,1fr) 2.5rem; }
 .flight-route .flight-location:first-child { grid-column: 1; grid-row: 1; }
 .flight-route .flight-location:last-child { grid-column: 1; grid-row: 2; }
 .flight-swap { width: 2.5rem; grid-column: 2; grid-row: 1 / 3; align-self: center; }
 .flight-leg-grid { gap: 1.25rem .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .flight-leg-grid > .flight-field:last-child { grid-column: 1 / -1; }
 .flight-field :is(input,select,textarea) { font-size: 16px; padding: .75rem .45rem; }
 .flight-field label { font-size: .7rem; }
 .flight-next-row, .flight-send-row, .flight-summary { flex-direction: column; gap: .6rem; align-items: stretch; }
 .flight-next-row .btn, .flight-send-row .btn { width: 100%; white-space: normal; text-align: center; }
 .flight-preferences-grid, .flight-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .flight-suggestions { min-width: 0; width: max(100%,min(275px,70vw)); }
 .flight-location:last-child .flight-suggestions { inset-inline-start: auto; inset-inline-end: 0; }
 .flight-checks { display: grid; }
}
@media (max-width:420px) {
 .flight-preferences-grid, .flight-contact-grid { grid-template-columns: 1fr; }
}
