/* =========================================================================
   Flighta — private jet panel inside the homepage hero card
   -------------------------------------------------------------------------
   A skin over the charter module's own markup, scoped to the hero panel.

   Deliberately CSS-only: every data-acr-* hook in that markup is a contract
   with aircraft_module.js (autocomplete, leg repeater, cabin cards, swap).
   Restyling by rewriting the HTML would mean re-establishing all of it, so
   this changes how it looks and never what it is.

   The module is token-driven, so most of the work is re-pointing its custom
   properties at the Flighta palette; the rest is making a standalone page
   section sit flush inside a card.
   ========================================================================= */

.flighta-hero__panel--jets {
    /* Flighta palette over the module's slate/gold defaults. */
    --acr-accent:      #5C1A2A;   /* fh maroon */
    --acr-accent-ink:  #ffffff;
    --acr-accent-soft: rgba(92, 26, 42, .07);
    --acr-accent-line: rgba(92, 26, 42, .20);
    --acr-ink:         #101828;
    --acr-muted:       #6A7282;
    --acr-line:        #E6E9EF;
    --acr-soft:        #FAFAFB;
    --acr-radius:      12px;
    --acr-radius-sm:   10px;
    --acr-shadow:      none;

    font-family: "Titillium Web", "Cairo", "Segoe UI", sans-serif;
}

/* The partial is a whole PAGE: its own full-bleed hero, a fleet gallery and a
   contact block. Inside the hero card most of that is noise - the page hero
   already exists above us, and a cabin gallery makes the card taller than the
   Flights panel it sits beside. Hide the page furniture; keep the search.

   Hidden with CSS rather than removed from the markup: aircraft_module.js
   binds the cabin cards to the <select> below, and that select keeps working
   whether or not the cards are on screen. */
.flighta-hero__panel--jets .acr-hero-ed,
.flighta-hero__panel--jets .acr-masthead,
.flighta-hero__panel--jets .acr-eyebrow,
.flighta-hero__panel--jets .acr-ed-section:not(.acr-ed-section--tight) {
    display: none !important;
}

/* With the gallery gone the plain cabin select is the control, so give it room. */
.flighta-hero__panel--jets .acr-bar__pax {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

/* The module marks its primary button's hover colour !important, so matching
   specificity is not enough to re-skin it. */
.flighta-hero__panel--jets .acr-btn--gold:hover,
.flighta-hero__panel--jets .acr-btn--gold:focus-visible {
    color: #fff !important;
}

/* The search bar is the card now: no second border, shadow or rounding. */
.flighta-hero__panel--jets .acr-ed,
.flighta-hero__panel--jets .acr-bar {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    max-width: none;
}

/* ---- trip-type tabs: match the Flights radio row ---------------------- */

.flighta-hero__panel--jets .acr-bar__tabs {
    gap: 4px;
    padding: 0 0 14px;
    border-bottom: 0;
    background: transparent;
    flex-wrap: wrap;
}

.flighta-hero__panel--jets .acr-bar__tab {
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--acr-muted);
    padding-right: 14px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
}

.flighta-hero__panel--jets .acr-bar__tab:hover {
    color: var(--acr-accent);
    background: var(--acr-accent-soft);
}

.flighta-hero__panel--jets .acr-bar__tab.is-active,
.flighta-hero__panel--jets .acr-bar__tab[aria-selected="true"] {
    color: var(--acr-accent);
    background: var(--acr-accent-soft);
    border-color: var(--acr-accent-line);
}

/* ---- fields: the rounded, light-bordered inputs the Flights form uses -- */

.flighta-hero__panel--jets .acr-bar__body { padding: 0; }

.flighta-hero__panel--jets .acr-label {
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: none;
    color: var(--acr-muted);
    margin-bottom: 4px;
}

.flighta-hero__panel--jets .acr-input,
.flighta-hero__panel--jets .acr-select,
.flighta-hero__panel--jets .acr-textarea {
    font-family: inherit;
    font-size: 14px;
    color: var(--acr-ink);
    background: #fff;
    border: 1px solid var(--acr-line);
    border-radius: var(--acr-radius-sm);
    padding: 10px 12px;
    min-height: 44px;
    transition: border-color .15s, box-shadow .15s;
}

.flighta-hero__panel--jets .acr-input:focus,
.flighta-hero__panel--jets .acr-select:focus,
.flighta-hero__panel--jets .acr-textarea:focus {
    outline: none;
    border-color: var(--acr-accent);
    box-shadow: 0 0 0 3px var(--acr-accent-soft);
}

.flighta-hero__panel--jets .acr-input::placeholder { color: #9AA1AC; }

/* A leg is a row in a card, not a bordered panel of its own. */
.flighta-hero__panel--jets .acr-leg {
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 0 0 6px;
    box-shadow: none;
}

.flighta-hero__panel--jets .acr-leg + .acr-leg {
    border-top: 1px dashed var(--acr-line);
    padding-top: 14px;
    margin-top: 10px;
}

.flighta-hero__panel--jets .acr-leg__index {
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--acr-muted);
}

/* Round swap button, like the one between From and To on the Flights form. */
.flighta-hero__panel--jets .acr-swap {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--acr-line);
    background: #fff;
    color: var(--acr-accent);
    align-self: end;
    margin-bottom: 4px;
}

.flighta-hero__panel--jets .acr-swap:hover {
    background: var(--acr-accent-soft);
    border-color: var(--acr-accent-line);
}

/* ---- the primary action: the maroon pill, like "Find ticket" ---------- */

.flighta-hero__panel--jets .acr-btn--gold {
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: #fff;
    background: var(--acr-accent);
    border: 0;
    border-radius: 999px;
    padding: 12px 30px;
    min-height: 48px;
    box-shadow: 0 6px 18px rgba(92, 26, 42, .22);
}

.flighta-hero__panel--jets .acr-btn--gold:hover {
    background: #3F101B;
    box-shadow: 0 8px 22px rgba(92, 26, 42, .3);
}

.flighta-hero__panel--jets .acr-btn--outline {
    font-family: inherit;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
    border-radius: 999px;
    border-color: var(--acr-line);
    color: var(--acr-accent);
}

/* ---- quick routes + cabin cards: lighter, so the card stays compact --- */

.flighta-hero__panel--jets .acr-routes {
    padding-top: 12px;
    border-top: 1px solid var(--acr-line);
    margin-top: 14px;
}

.flighta-hero__panel--jets .acr-routes__label {
    font-family: inherit;
    text-transform: none;
    letter-spacing: 0;
    font-size: 12px;
    color: var(--acr-muted);
}

.flighta-hero__panel--jets .acr-route {
    font-family: inherit;
    font-size: 12px;
    border-radius: 999px;
    border-color: var(--acr-line);
    color: var(--acr-ink);
    padding: 6px 12px;
}

.flighta-hero__panel--jets .acr-route:hover {
    border-color: var(--acr-accent-line);
    background: var(--acr-accent-soft);
    color: var(--acr-accent);
}

.flighta-hero__panel--jets .acr-ed-section { margin-top: 16px; }

.flighta-hero__panel--jets .acr-ed-head h2,
.flighta-hero__panel--jets .acr-ed-details__head {
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: var(--acr-ink);
}

.flighta-hero__panel--jets .acr-fleet__item {
    border-radius: var(--acr-radius-sm);
    border-color: var(--acr-line);
    font-family: inherit;
}

.flighta-hero__panel--jets .acr-fleet__item.is-active {
    border-color: var(--acr-accent);
    background: var(--acr-accent-soft);
}

/* Contact block stays collapsed by default; it is a <details>. */
.flighta-hero__panel--jets .acr-ed-details {
    border: 1px solid var(--acr-line);
    border-radius: var(--acr-radius-sm);
    background: var(--acr-soft);
}

.flighta-hero__panel--jets .acr-alert {
    border-radius: var(--acr-radius-sm);
    font-family: inherit;
    font-size: 13px;
}

/* ---- narrow screens --------------------------------------------------- */

@media (max-width: 767px) {
    .flighta-hero__panel--jets .acr-btn--gold { width: 100%; }
    .flighta-hero__panel--jets .acr-swap { align-self: center; margin: 2px auto; }
}

@media (prefers-reduced-motion: reduce) {
    .flighta-hero__panel--jets * { transition: none !important; animation: none !important; }
}

/* =========================================================================
   Layout corrections
   -------------------------------------------------------------------------
   The module's search bar is laid out for a full-bleed page: a five-track
   grid with hairline-separated columns, and breakpoints that measure the
   VIEWPORT. Inside the hero card the available width is the card, not the
   window, so on a wide screen it laid out for ~1900px inside a ~1200px box -
   the Pax column fell off the edge. The contact block was worse: margin: 0 8%
   is 8% of the page, so it sat outside the card entirely.

   Everything below re-expresses the same form for a contained width.
   ========================================================================= */

/* ---- the leg row ------------------------------------------------------ */

.flighta-hero__panel--jets .acr-bar .acr-leg__grid {
    /* minmax(0, …) on every flexible track: a bare 1fr floors at min-content,
       which is what let a long airport name push the row wider than the card. */
    grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) minmax(130px, 150px) minmax(80px, 92px);
    gap: 12px;
    align-items: end;
}

/* The hairline column dividers belong to the editorial page layout; in a card
   they read as clutter and eat the width the fields need. */
.flighta-hero__panel--jets .acr-bar .acr-leg__grid > div {
    padding-inline: 0;
    border-inline-start: 0;
    min-width: 0;
}

/* Below ~1100px of CARD width the five-track row stops fitting. The module's
   own breakpoint is viewport-based and fires too late here, so this one is
   deliberately earlier. */
@media (max-width: 1399.98px) {
    .flighta-hero__panel--jets .acr-bar .acr-leg__grid {
        grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr);
        row-gap: 14px;
    }
    .flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 110px;
        gap: 12px;
        padding: 0;
        border: 0;
    }
    .flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when > div {
        padding-inline: 0;
        border-inline-start: 0;
    }
}

@media (max-width: 575.98px) {
    .flighta-hero__panel--jets .acr-bar .acr-leg__grid { grid-template-columns: minmax(0, 1fr); }
    .flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when { grid-template-columns: minmax(0, 1fr); }
    .flighta-hero__panel--jets .acr-bar .acr-swap { justify-self: start; }
}

/* ---- fields: boxed, not the module's underline-on-serif treatment ------ */

.flighta-hero__panel--jets .acr-bar .acr-input,
.flighta-hero__panel--jets .acr-bar .acr-select {
    font-family: inherit;
    font-size: 14px;
    color: var(--acr-ink);
    background: #fff;
    border: 1px solid var(--acr-line);
    border-radius: var(--acr-radius-sm);
    border-bottom: 1px solid var(--acr-line);
    padding: 10px 12px;
    min-height: 44px;
    width: 100%;
}

.flighta-hero__panel--jets .acr-bar .acr-input:focus,
.flighta-hero__panel--jets .acr-bar .acr-select:focus {
    border-color: var(--acr-accent);
    border-bottom-color: var(--acr-accent);
    box-shadow: 0 0 0 3px var(--acr-accent-soft);
}

.flighta-hero__panel--jets .acr-bar .acr-input::placeholder {
    font-family: inherit;
    font-size: 14px;
    color: #9AA1AC;
}

.flighta-hero__panel--jets .acr-bar .acr-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: none;
    color: var(--acr-muted);
    margin-bottom: 5px;
}

.flighta-hero__panel--jets .acr-bar .acr-leg__index {
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--acr-muted);
    margin-bottom: 8px;
}

.flighta-hero__panel--jets .acr-bar .acr-swap {
    color: var(--acr-accent);
    border-color: var(--acr-line);
}
.flighta-hero__panel--jets .acr-bar .acr-swap:hover {
    background: var(--acr-accent-soft);
    border-color: var(--acr-accent-line);
}

/* ---- spacing: card-scale, not page-scale ------------------------------ */

.flighta-hero__panel--jets .acr-bar__body { padding: 18px 0 0; }
.flighta-hero__panel--jets .acr-bar__tabs { padding: 0 0 12px; }

.flighta-hero__panel--jets .acr-bar__go {
    margin-top: 16px;
    padding-top: 16px;
    gap: 16px;
    align-items: flex-end;
}

.flighta-hero__panel--jets .acr-bar__pax > div { min-width: 104px; }

/* ---- one form, not a detached panel ----------------------------------- */

.flighta-hero__panel--jets .acr-ed-details {
    /* was margin: 0 8% — 8% of the PAGE, which pushed this outside the card. */
    margin: 18px 0 0;
    border: 0;
    border-top: 1px solid var(--acr-line);
    border-radius: 0;
    background: transparent;
}

.flighta-hero__panel--jets .acr-ed-details__head {
    padding: 16px 0 0;
    border-bottom: 0;
}

.flighta-hero__panel--jets .acr-ed-details__head h2 {
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    color: var(--acr-ink);
    margin: 0 0 2px;
}

.flighta-hero__panel--jets .acr-ed-details__body { padding: 12px 0 4px; }

.flighta-hero__panel--jets .acr-grid--2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

/* The contact inputs inherit the module's underline treatment; box them so
   the whole card reads as one form. */
.flighta-hero__panel--jets .acr-ed-details .acr-input,
.flighta-hero__panel--jets .acr-ed-details .acr-textarea {
    border: 1px solid var(--acr-line);
    border-radius: var(--acr-radius-sm);
    background: #fff;
    padding: 10px 12px;
    font-family: inherit;
    font-size: 14px;
}

.flighta-hero__panel--jets .acr-ed-details .acr-input:focus,
.flighta-hero__panel--jets .acr-ed-details .acr-textarea:focus {
    border-color: var(--acr-accent);
    box-shadow: 0 0 0 3px var(--acr-accent-soft);
}

/* ---- quick routes ------------------------------------------------------ */

.flighta-hero__panel--jets .acr-routes {
    margin-top: 14px;
    padding-top: 12px;
    gap: 8px;
    flex-wrap: wrap;
}

/* Nothing in the panel may exceed the card. */
.flighta-hero__panel--jets,
.flighta-hero__panel--jets .acr-ed,
.flighta-hero__panel--jets .acr-bar { max-width: 100%; overflow-x: clip; }

/* =========================================================================
   Container-driven layout (supersedes the media queries above)
   -------------------------------------------------------------------------
   The previous attempt used viewport media queries. That cannot work here:
   the panel's width is the CARD, not the window, so on a 1700px screen the
   five-track grid stayed active inside a ~1200px card and Pax fell off the
   edge regardless of the breakpoint.

   Flex wrapping is driven by the container, so the row reflows when the CARD
   runs out of room - no breakpoint involved, and it cannot overflow.
   ========================================================================= */

.flighta-hero__panel--jets .acr-bar .acr-leg__grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    grid-template-columns: none;   /* drop the inherited grid entirely */
}

/* display:contents on the wrapper means Departure and Pax are siblings of
   From/To, so all five size themselves here. */
.flighta-hero__panel--jets .acr-bar .acr-leg__grid > div,
.flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when > div {
    flex: 1 1 200px;
    min-width: 0;          /* without this a long airport name still overflows */
    padding-inline: 0;
    border-inline-start: 0;
}

/* Swap never grows; date and pax need less than an airport field. */
.flighta-hero__panel--jets .acr-bar .acr-swap { flex: 0 0 44px; margin-bottom: 2px; }
.flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when > div:first-child { flex: 0 1 160px; }
.flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when > div + div { flex: 0 1 96px; }

.flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when {
    display: contents;     /* keep the module's own behaviour */
}

/* ---- the gap and the indent ------------------------------------------- */

/* padding: 84px 8% 0 - the 84px was the empty band under the route chips and
   the 8% was why "Who is travelling?" started further right than every other
   label in the card. */
.flighta-hero__panel--jets .acr-ed-section,
.flighta-hero__panel--jets .acr-ed-section--tight {
    padding: 0 !important;
}

.flighta-hero__panel--jets .acr-ed-head {
    max-width: none;
    margin-bottom: 0;
}

/* The bar is pulled up 96px and inset 6% to overlap the page hero it normally
   sits under. There is no hero here. */
.flighta-hero__panel--jets .acr-bar {
    margin: 0 !important;
    border-top: 0;
    box-shadow: none;
}

.flighta-hero__panel--jets .acr-routes { margin-top: 12px; }

/* The submit sits on the same line as Guests/Cabin; let it hold its place
   rather than being pushed onto a line of its own. */
.flighta-hero__panel--jets .acr-bar__go { flex-wrap: wrap; }
.flighta-hero__panel--jets .acr-bar__go > .acr-bar__pax { flex: 1 1 auto; }
.flighta-hero__panel--jets .acr-btn--gold { flex: 0 0 auto; }

/* =========================================================================
   Page furniture that does not belong in the card
   -------------------------------------------------------------------------
   .acr-routes   - the "Frequently flown" chip row
   .acr-ed-cta   - the "Flying in the next twenty-four hours?" panel, whose
                   "Begin your search" button scrolls to the top of a PAGE;
                   inside a card there is nowhere to scroll to.

   Scoped to the hero panel, so /aircraft keeps both.
   ========================================================================= */

.flighta-hero__panel--jets .acr-routes,
.flighta-hero__panel--jets .acr-ed-cta {
    display: none !important;
}

/* =========================================================================
   Padding
   ========================================================================= */

.flighta-hero__panel--jets { padding: 18px 22px 24px; }

@media (max-width: 575.98px) {
    .flighta-hero__panel--jets { padding: 14px 16px 18px; }
}

/* The submit is relocated to the end of the form by script (see
   hero_search_card.blade.php). CSS `order` was the wrong tool: the button and
   the contact block sit at different depths, and flattening the wrappers with
   display:contents did not reorder them in practice - so the position is set
   in the DOM, where it is unambiguous.

   Once it ends the form it gets its own divider and sits bottom-right. */
.flighta-hero__panel--jets .acr-bar__go {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--acr-line);
}

.flighta-hero__panel--jets [data-acr-submit] {
    display: block;
    margin: 18px 0 0 auto;
}

/* ---- one line: From, swap, To, Departure, Pax, Cabin ------------------- */

/* Guests duplicates Pax. Hidden, not deleted: it posts the top-level `pax`
   that AircraftSearchCriteria falls back to when a leg carries none. */
.flighta-hero__panel--jets .acr-bar__pax > div:not(.fh-cabin-field) { display: none; }

/* With only the relocated cabin gone from it, the row has nothing left to
   show - drop its divider and spacing too. */
.flighta-hero__panel--jets .acr-bar__go {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.flighta-hero__panel--jets .fh-cabin-field {
    flex: 0 1 150px;
    min-width: 0;
}

/* =========================================================================
   Compact spacing
   -------------------------------------------------------------------------
   The panel inherited the standalone /aircraft page's rhythm, which is built
   for a full-width section with room to breathe. Inside the hero card the
   same values read as dead space: the form ran well past the fold with only
   nine controls in it.

   Every value below is a reduction of one already set earlier in this file
   (or in aircraft_module.css) - nothing new is introduced, and the block is
   last so it wins on source order at equal specificity. Scoped to the hero
   panel throughout, so /aircraft keeps its original spacing.
   ========================================================================= */

/* ---- the band above LEG 1 --------------------------------------------- */

.flighta-hero__panel--jets .acr-bar__tabs { padding: 0 0 8px; }
.flighta-hero__panel--jets .acr-bar__body { padding: 10px 0 0; }

/* margin-bottom was 14px (.acr-leg__index) / 12px (.acr-bar .acr-leg__index);
   neither was restated in this file, so both had to be beaten here. */
.flighta-hero__panel--jets .acr-bar .acr-leg__index,
.flighta-hero__panel--jets .acr-leg__index {
    margin-bottom: 5px;
}

/* ---- the leg row ------------------------------------------------------- */

.flighta-hero__panel--jets .acr-leg { padding: 0; }
.flighta-hero__panel--jets .acr-bar .acr-leg__grid { gap: 10px; }

.flighta-hero__panel--jets .acr-leg + .acr-leg {
    padding-top: 10px;
    margin-top: 8px;
}

/* ---- controls ---------------------------------------------------------- */

/* Both the .acr-bar and the .acr-ed-details variants are listed: each is set
   at depth 3 earlier in this file, so the plain two-class selector loses. */
.flighta-hero__panel--jets .acr-input,
.flighta-hero__panel--jets .acr-select,
.flighta-hero__panel--jets .acr-textarea,
.flighta-hero__panel--jets .acr-bar .acr-input,
.flighta-hero__panel--jets .acr-bar .acr-select,
.flighta-hero__panel--jets .acr-ed-details .acr-input,
.flighta-hero__panel--jets .acr-ed-details .acr-textarea {
    padding: 7px 11px;
    min-height: 38px;
}

/* rows="2" still sets the natural height; this only stops min-height from
   making the notes box the same size as a single-line input. */
.flighta-hero__panel--jets .acr-textarea,
.flighta-hero__panel--jets .acr-ed-details .acr-textarea { min-height: 52px; }

.flighta-hero__panel--jets .acr-label,
.flighta-hero__panel--jets .acr-bar .acr-label,
.flighta-hero__panel--jets .acr-ed-details .acr-label { margin-bottom: 3px; }

/* The swap button is bottom-aligned with the inputs, so it has to be lifted
   by half the difference to stay centred against the shorter field. */
.flighta-hero__panel--jets .acr-swap {
    width: 34px;
    height: 34px;
    margin-bottom: 2px;
}
.flighta-hero__panel--jets .acr-bar .acr-swap { flex: 0 0 34px; margin-bottom: 2px; }

/* ---- "Who is travelling?" --------------------------------------------- */

.flighta-hero__panel--jets .acr-ed-details { margin: 10px 0 0; }
.flighta-hero__panel--jets .acr-ed-details__head { padding: 10px 0 0; }
.flighta-hero__panel--jets .acr-ed-details__body { padding: 8px 0 0; }

/* .acr-field carries margin-bottom: 16px from the module, on top of the
   grid's own gap - 28px between contact rows. The gap alone is enough. */
.flighta-hero__panel--jets .acr-ed-details .acr-field { margin-bottom: 0; }
.flighta-hero__panel--jets .acr-grid--2 { gap: 10px; }

/* ---- submit + the card itself ------------------------------------------ */

.flighta-hero__panel--jets [data-acr-submit] { margin: 10px 0 0 auto; }

.flighta-hero__panel--jets .acr-btn--gold {
    padding: 10px 28px;
    min-height: 42px;
}

.flighta-hero__panel--jets { padding: 12px 20px 16px; }

@media (max-width: 575.98px) {
    .flighta-hero__panel--jets { padding: 10px 14px 14px;     padding-left: 70px;
    padding-right: 70px; }
}

/* =========================================================================
   Match the Flights form's field model
   -------------------------------------------------------------------------
   Shaving padding was never going to close the gap, because the two forms
   are built differently. The Flights form uses .outlined-input-group: a
   bordered box with the label absolutely positioned ON its top border
   (top: -10px, white background, 12px) - so a label costs ZERO vertical
   space. The jets form stacks its label above the input, which spends a
   label line plus its margin on every single field.

   This block gives the jets panel the same treatment, in CSS only: the label
   already precedes the input inside each cell, so making the cell a
   positioning context and lifting the label onto the border is enough - no
   markup change, and aircraft_module.js keeps every hook it binds to.

   Values are taken from the Flights form (b2b/flights/home_searh.blade.php
   ~line 815 and b2c/flights/home_search_style.blade.php ~line 254):
   border 2px #dee2e6, radius 8px, 48px box, label 12px/600 at top: -10px.

   Supersedes the label and field metrics set in the block above.
   ========================================================================= */

/* ---- each field cell anchors its own floating label -------------------- */

.flighta-hero__panel--jets .acr-bar .acr-leg__grid > div,
.flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when > div,
.flighta-hero__panel--jets .acr-ed-details .acr-field {
    position: relative;
}

.flighta-hero__panel--jets .acr-label,
.flighta-hero__panel--jets .acr-bar .acr-label,
.flighta-hero__panel--jets .acr-ed-details .acr-label {
    position: absolute;
    top: -10px;
    inset-inline-start: 10px;
    z-index: 2;
    display: inline-block;
    width: auto;
    max-width: calc(100% - 20px);
    margin: 0;
    padding: 0 6px;
    background: #fff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
    color: #666;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}

.flighta-hero__panel--jets .acr-label .req { color: #f04438; }

/* The label sits on the border, so the box has to own the border. */
.flighta-hero__panel--jets .acr-input,
.flighta-hero__panel--jets .acr-select,
.flighta-hero__panel--jets .acr-textarea,
.flighta-hero__panel--jets .acr-bar .acr-input,
.flighta-hero__panel--jets .acr-bar .acr-select,
.flighta-hero__panel--jets .acr-ed-details .acr-input,
.flighta-hero__panel--jets .acr-ed-details .acr-textarea {
    border: 2px solid #dee2e6;
    border-radius: 8px;
    padding: 6px 10px;
    min-height: 48px;
    font-size: 14px;
}

.flighta-hero__panel--jets .acr-textarea,
.flighta-hero__panel--jets .acr-ed-details .acr-textarea {
    min-height: 48px;
    padding-top: 12px;
}

.flighta-hero__panel--jets .acr-input:focus,
.flighta-hero__panel--jets .acr-select:focus,
.flighta-hero__panel--jets .acr-textarea:focus,
.flighta-hero__panel--jets .acr-bar .acr-input:focus,
.flighta-hero__panel--jets .acr-bar .acr-select:focus,
.flighta-hero__panel--jets .acr-ed-details .acr-input:focus,
.flighta-hero__panel--jets .acr-ed-details .acr-textarea:focus {
    border-color: var(--acr-accent);
    box-shadow: none;
}

/* ---- rows ------------------------------------------------------------- */

/* Row gap must clear the floating label of the row BELOW, which overhangs its
   box by 10px - so 16px leaves 6px of visual air, and anything under ~14px
   puts the label on top of the field above it. Column gap is the Flights
   form's 12px. */
.flighta-hero__panel--jets .acr-bar .acr-leg__grid,
.flighta-hero__panel--jets .acr-grid--2 {
    gap: 16px 12px;
}

/* Clearance for the first row's labels, which overhang the top of the grid. */
.flighta-hero__panel--jets .acr-bar .acr-leg__grid { margin-top: 4px; }

.flighta-hero__panel--jets .acr-bar .acr-leg__index,
.flighta-hero__panel--jets .acr-leg__index {
    margin-bottom: 10px;
}

/* .route_row is margin-bottom: 8px on the Flights form; the contact block
   gets the same, plus room for its heading. */
.flighta-hero__panel--jets .acr-ed-details { margin: 8px 0 0; }
.flighta-hero__panel--jets .acr-ed-details__head { padding: 12px 0 0; }
.flighta-hero__panel--jets .acr-ed-details__body { padding: 14px 0 0; }

/* Bottom-aligned against a 48px field again. */
.flighta-hero__panel--jets .acr-swap,
.flighta-hero__panel--jets .acr-bar .acr-swap {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    margin-bottom: 5px;
}

/* ---- round trip: the return date, not a second leg --------------------- */

/* The panel's leg row is flex, so Return only needs a basis - it sits between
   Departure and Pax and wants a date field's width, not Pax's. Without this
   the `div + div` rule above would size it like Pax (96px). */
.flighta-hero__panel--jets .acr-bar .acr-leg__grid > .acr-leg__when > [data-acr-return-field] {
    flex: 0 1 160px;
}

/* ---- cabin: one control for the whole search --------------------------- */

/* With several legs the cabin moves out of leg 1's row onto its own line
   under the legs (see placeCabin in hero_search_card.blade.php), so that row
   needs the divider and spacing that were stripped when it stood empty. */
.flighta-hero__panel--jets.fh-cabin-row .acr-bar__go {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--acr-line);
}

/* On its own line it is not competing for width with five route fields. */
.flighta-hero__panel--jets.fh-cabin-row .fh-cabin-field {
    flex: 0 1 220px;
}

/* ---- currency: beside the cabin, wherever placeCabin() puts it -------- */

/* Not one of the hidden .acr-bar__pax fields: it moves with the cabin. */
.flighta-hero__panel--jets .acr-bar__pax > div.acr-bar__currency { display: block; }

.flighta-hero__panel--jets .acr-bar__currency,
.flighta-hero__panel--jets .acr-bar .acr-leg__grid > div.acr-bar__currency {
    position: relative;    /* the box its floating label sits on */
    flex: 0 1 120px;       /* three-letter codes: no airport-sized box, so the route row still fits */
}

.flighta-hero__panel--jets.fh-cabin-row .acr-bar__currency {
    flex: 0 1 160px;
}

/* ---- remove leg: the last item of its leg's row ------------------------ */

/* The module pins the × to the leg's top corner, where this panel's field cells
   (position: relative, for their floating labels) paint over it - it could be
   neither seen nor clicked. Here it ends the row instead, after Pax. aircraft_
   module.js shows it only on a Multi leg trip with more than two legs. */
.flighta-hero__panel--jets .acr-bar .acr-leg {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.flighta-hero__panel--jets .acr-bar .acr-leg__grid {
    flex: 1 1 auto;
    min-width: 0;
}

.flighta-hero__panel--jets .acr-bar .acr-leg__remove {
    position: static;
    order: 2;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    margin-bottom: 5px;    /* centred against a 48px field, like the swap */
    border: 1px solid var(--acr-line);
    border-radius: 50%;
    background: #fff;
    color: var(--acr-muted);
}

.flighta-hero__panel--jets .acr-bar .acr-leg__remove:hover,
.flighta-hero__panel--jets .acr-bar .acr-leg__remove:focus-visible {
    color: #b42318;
    border-color: #fda29b;
    background: #fef3f2;
}
