/* AYAN AIR office panel, look v4 (AYAN_AGENCY_V4): New booking (html.ay4-page-results). Step 1 "Choose flight" is the view
   filament/agency/v4/results (.ay4-res); the search and passengers steps keep today's view and get the v4 look here.
   Linked after ayan-agency-v4.css (shared look, tokens, buttons, band) on every office page when the switch is on.
   Picture: ayan-compact/results.html + results.css (compact block and "fares as the user asked"). */

/* ---------- band: steps, title, route and travellers, Modify search, the 7 days ---------- */
html.ay4 .ay4-res .ay4-rs { padding: 12px 22px; }
html.ay4 .ay4-res .rs-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
html.ay4 .ay4-res .trail { display: flex; align-items: center; gap: 10px; font-size: 11.5px; color: rgba(255,255,255,.62); }
html.ay4 .ay4-res .trail b { color: #fff; font-weight: 500; }
html.ay4 .ay4-res .trail i { width: 22px; height: 1px; background: rgba(255,255,255,.35); }
html.ay4 .ay4-res .ay4-rs h1 { position: relative; z-index: 1; margin-top: 4px; font-size: 28px; }
html.ay4 .ay4-res .rs-meta { position: relative; z-index: 1; margin: 2px 0 0; font-size: 12.5px; color: rgba(255,255,255,.78); }
html.ay4 .ay4-res .dates { position: relative; z-index: 1; display: flex; gap: 5px; margin-top: 10px; overflow-x: auto; scrollbar-width: none; }
html.ay4 .ay4-res .dates::-webkit-scrollbar { display: none; }
html.ay4 .ay4-res .dates button { font-family: inherit; cursor: pointer; }
html.ay4 .ay4-res .dates .dt { flex: 1; min-width: 84px; display: grid; justify-items: center; padding: 4px 6px; border-radius: 10px; background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.72); font-size: 11px; line-height: 1.3; transition: background .15s; }
html.ay4 .ay4-res .dates .dt:hover:not(:disabled) { background: rgba(255,255,255,.16); }
html.ay4 .ay4-res .dates .dt:disabled:not(.on) { opacity: .45; cursor: default; }
html.ay4 .ay4-res .dates .dt b { font-size: 13.5px; font-weight: 600; color: #fff; letter-spacing: .01em; font-variant-numeric: tabular-nums; }
html.ay4 .ay4-res .dates .dt b small { font-size: 10px; font-weight: 400; opacity: .7; }
html.ay4 .ay4-res .dates .dt b em { font-style: normal; }
html.ay4 .ay4-res .dates .dt b.none { font-weight: 400; font-size: 11.5px; opacity: .7; }
html.ay4 .ay4-res .dates .dt.on { background: #fff; border-color: #fff; color: var(--v4-muted); cursor: default; }
html.ay4 .ay4-res .dates .dt.on b { color: var(--v4-plum); }
html.ay4 .ay4-res .dates .arr { flex: none; width: 30px; border-radius: 10px; background: transparent; border: 1px solid rgba(255,255,255,.2); color: #fff; font-size: 16px; }
html.ay4 .ay4-res .dates .arr:hover:not(:disabled) { background: rgba(255,255,255,.12); }
html.ay4 .ay4-res .dates .arr:disabled { opacity: .35; cursor: default; }

/* ---------- sort ---------- */
html.ay4 .ay4-res .rs-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 10px 2px 8px; flex-wrap: wrap; }
html.ay4 .ay4-res .seg { display: inline-flex; background: var(--v4-surface); border: 1px solid var(--v4-line2); border-radius: 10px; padding: 3px; }
html.ay4 .ay4-res .seg button { padding: 4px 12px; border-radius: 8px; font: 400 12.5px/1.45 var(--v4-sans); color: var(--v4-muted); background: none; border: 0; cursor: pointer; white-space: nowrap; }
html.ay4 .ay4-res .seg button:hover { color: var(--v4-plum); }
html.ay4 .ay4-res .seg button.on { background: var(--v4-fill); color: var(--v4-plum); font-weight: 500; box-shadow: inset 0 0 0 1px var(--v4-line); }
html.ay4 .ay4-res .ld { font-size: 12px; color: var(--v4-muted); }

/* ---------- flights left, the dark panel right ---------- */
html.ay4 .ay4-res .rs-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
html.ay4 .ay4-res .fl { background: var(--v4-surface); border: 1px solid var(--v4-line); border-radius: 14px; overflow: hidden; }
html.ay4 .ay4-res .fl + .fl { margin-top: 10px; }
html.ay4 .ay4-res .fl.empty { display: grid; gap: 2px; padding: 24px; text-align: center; color: var(--v4-muted); font-size: 13px; }
html.ay4 .ay4-res .fl.empty b { font: 400 22px/1.2 var(--v4-serif); color: var(--v4-plum); }
/* a flight: its route(s) left, the Economy and Business price boxes right, the links underneath (asked 2026-10-09) */
html.ay4 .ay4-res .fl-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 10px 12px 10px 16px; }
html.ay4 .ay4-res .fl-legs { min-width: 0; display: grid; gap: 8px; }
html.ay4 .ay4-res .leg { display: grid; grid-template-columns: auto minmax(90px, 1fr) auto; align-items: center; column-gap: 14px; row-gap: 3px; }
html.ay4 .ay4-res .leg + .leg { border-top: 1px dashed var(--v4-line2); padding-top: 8px; }
html.ay4 .ay4-res .tm b { display: block; font-size: 22px; font-weight: 500; color: var(--v4-plum); letter-spacing: -.015em; line-height: 1; font-variant-numeric: tabular-nums; }
html.ay4 .ay4-res .tm b sup { font-size: 11px; color: var(--v4-hold); margin-left: 2px; }
html.ay4 .ay4-res .tm span { display: block; margin-top: 2px; font-size: 12px; color: var(--v4-muted); white-space: nowrap; }
html.ay4 .ay4-res .tm.r { text-align: right; }
html.ay4 .ay4-res .path { display: grid; gap: 1px; justify-items: center; font-size: 11.5px; color: var(--v4-muted); min-width: 0; }
html.ay4 .ay4-res .path .ln { width: 100%; display: flex; align-items: center; gap: 6px; color: var(--v4-violet); }
html.ay4 .ay4-res .path .ln::before, html.ay4 .ay4-res .path .ln::after { content: ""; height: 1px; flex: 1; background: repeating-linear-gradient(90deg, var(--v4-line) 0 5px, transparent 5px 9px); }
html.ay4 .ay4-res .path .ln .ay4-i { width: 16px; height: 16px; transform: rotate(45deg); }
html.ay4 .ay4-res .path .ns { color: var(--v4-ok); font-weight: 500; }
html.ay4 .ay4-res .path .st { color: var(--v4-hold); font-weight: 500; text-align: center; }
html.ay4 .ay4-res .fid { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 2px 10px; font-size: 11.5px; color: var(--v4-muted); }
html.ay4 .ay4-res .fid b { color: var(--v4-plum); font-weight: 600; }

/* the price boxes: cheapest Economy, cheapest Business (and the others under "More classes") */
html.ay4 .ay4-res .fares { display: flex; gap: 8px; }
html.ay4 .ay4-res .fare { width: 178px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 6px; padding: 8px 10px; border: 1px solid var(--v4-line); border-radius: 12px;
    background: var(--v4-surface); transition: border-color .15s, box-shadow .15s; }
html.ay4 .ay4-res .fare:hover { border-color: #B9A6FB; }
html.ay4 .ay4-res .fare .cab { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--v4-muted); white-space: nowrap; }
html.ay4 .ay4-res .fare .cab b { letter-spacing: 0; color: var(--v4-plum); font-weight: 700; margin-left: 2px; }
html.ay4 .ay4-res .fare .seats { justify-self: end; white-space: nowrap; font-size: 10px; font-weight: 600; padding: 1px 6px; border-radius: 999px; background: var(--v4-fill); color: var(--v4-muted); }
html.ay4 .ay4-res .fare .seats.low { background: var(--v4-hold-bg); color: var(--v4-hold); }
html.ay4 .ay4-res .fare .seats ~ .seats { grid-column: 1 / -1; justify-self: start; }
html.ay4 .ay4-res .fare .pr { grid-column: 1 / -1; font-size: 18px; font-weight: 600; color: var(--v4-plum); letter-spacing: -.01em; line-height: 1.15; white-space: nowrap; font-variant-numeric: tabular-nums; }
html.ay4 .ay4-res .fare .pr.sm { font-size: 13px; font-weight: 500; color: var(--v4-muted); }
html.ay4 .ay4-res .fare .pick { grid-column: 1 / -1; width: 100%; height: 28px; }
html.ay4 .ay4-res .fare .pick > span { display: inline-flex; align-items: center; gap: 5px; }
html.ay4 .ay4-res .fare .pick .ay4-i { width: 14px; height: 14px; }
html.ay4 .ay4-res .fare.economy:not(.on) { background: linear-gradient(180deg, #FAF8FF, var(--v4-surface)); }
html.ay4 .ay4-res .fare.on { border-color: var(--v4-violet); background: linear-gradient(180deg, #F4F0FF, #fff); box-shadow: 0 0 0 1px var(--v4-violet); }
html.ay4 .ay4-res .fare.na { background: var(--v4-fill); border-style: dashed; align-content: center; }
html.ay4 .ay4-res .fare.na .pr { grid-column: 1 / -1; }
html.ay4 .ay4-res .fares.more-f { flex-wrap: wrap; padding: 0 12px 10px 16px; }

/* under the route: Flight details · Rules · More classes */
html.ay4 .ay4-res .fl-links { display: flex; flex-wrap: wrap; gap: 4px 18px; padding: 6px 16px; border-top: 1px solid var(--v4-line2); background: var(--v4-fill); }
html.ay4 .ay4-res .fl-links button { display: inline-flex; align-items: center; gap: 4px; padding: 0; border: 0; background: none; font: 500 12.5px/1.5 var(--v4-sans); color: var(--v4-violet); cursor: pointer; }
html.ay4 .ay4-res .fl-links button:hover { color: var(--v4-violet-h); text-decoration: underline; text-underline-offset: 3px; }
html.ay4 .ay4-res .fl-links .ay4-i { width: 14px; height: 14px; transition: transform .2s; }
html.ay4 .ay4-res .fl-links .ay4-i.up { transform: rotate(180deg); }
html.ay4 .ay4-res .fl > .legs { padding: 8px 16px; border-top: 1px solid var(--v4-line2); }
html.ay4 .ay4-res .fl .rules { padding: 0 16px 12px; }
html.ay4 .ay4-res .pnote { margin: 8px 4px 0; font-size: 12px; color: var(--v4-fog); }

/* the dark panel: the marked class, its price and terms, one button */
html.ay4 .ay4-res .ay4-sum { position: sticky; top: 12px; background: var(--v4-plum); color: #fff; border-radius: 16px; padding: 14px 16px; overflow: hidden; }
html.ay4 .ay4-res .ay4-sum::before { content: ""; position: absolute; right: -60px; top: -80px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(124,81,250,.55), transparent 70%); pointer-events: none; }
html.ay4 .ay4-res .ay4-sum > * { position: relative; }
html.ay4 .ay4-res .ay4-sum .k { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.55); }
html.ay4 .ay4-res .ay4-sum .hint { margin: 6px 0 2px; font: 400 18px/1.25 var(--v4-serif); color: rgba(255,255,255,.85); }
html.ay4 .ay4-res .ay4-sum h3 { margin: 2px 0 0; font: 400 20px/1.15 var(--v4-serif); }
html.ay4 .ay4-res .ay4-sum .what { font-size: 12px; color: rgba(255,255,255,.7); margin-bottom: 8px; }
html.ay4 .ay4-res .ay4-sum .ln2 { display: flex; justify-content: space-between; gap: 10px; font-size: 12.5px; color: rgba(255,255,255,.78); padding: 2px 0; }
html.ay4 .ay4-res .ay4-sum .ln2 b { font-weight: 500; color: #fff; font-variant-numeric: tabular-nums; white-space: nowrap; }
html.ay4 .ay4-res .ay4-sum .pay { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; border-top: 1px solid rgba(255,255,255,.14); margin-top: 6px; padding-top: 8px; }
html.ay4 .ay4-res .ay4-sum .pay span { font-size: 12.5px; color: rgba(255,255,255,.7); line-height: 1.3; }
html.ay4 .ay4-res .ay4-sum .pay small { display: block; font-size: 11px; color: rgba(255,255,255,.5); }
html.ay4 .ay4-res .ay4-sum .pay b { font: 400 26px/1 var(--v4-serif); white-space: nowrap; }
html.ay4 .ay4-res .ay4-sum .terms { margin-top: 10px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.14); }
html.ay4 .ay4-res .ay4-sum .tk { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.55); margin-bottom: 4px; }
html.ay4 .ay4-res .ay4-sum .terms ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
html.ay4 .ay4-res .ay4-sum .terms li { display: grid; grid-template-columns: 16px 92px minmax(0, 1fr); align-items: center; gap: 6px; font-size: 12.5px; color: rgba(255,255,255,.7); }
html.ay4 .ay4-res .ay4-sum .terms li .ay4-i { width: 14px; height: 14px; color: #CDBBFF; }
html.ay4 .ay4-res .ay4-sum .terms li b { font-weight: 500; color: #fff; text-align: right; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ay4 .ay4-res .ay4-sum .terms li.no b { color: #FFC2CF; }
html.ay4 .ay4-res .ay4-sum .terms li.ok b, html.ay4 .ay4-res .ay4-sum .terms li.cond b { color: #8BE3B8; }
html.ay4 .ay4-res .ay4-sum .terms .sk b i { display: inline-block; width: 70px; height: 9px; border-radius: 5px; background: rgba(255,255,255,.14); animation: ay4pulse 1.2s ease-in-out infinite; }
@keyframes ay4pulse { 50% { opacity: .45; } }
html.ay4 .ay4-res .ay4-sum .err { margin: 0; font-size: 12.5px; color: #FFC2CF; }
html.ay4 .ay4-res .ay4-sum .rl { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; padding: 0; border: 0; background: none; cursor: pointer; font: 500 12.5px/1.4 var(--v4-sans); color: #CDBBFF; }
html.ay4 .ay4-res .ay4-sum .rl .ay4-i { width: 13px; height: 13px; }
html.ay4 .ay4-res .ay4-sum .next { width: 100%; margin-top: 10px; height: 44px; justify-content: space-between; padding: 0 6px 0 18px; font-size: 14.5px; }
html.ay4 .ay4-res .ay4-sum .next .arr { width: 32px; height: 32px; border-radius: 9px; }
html.ay4 .ay4-res .ay4-sum .fine { font-size: 11px; color: rgba(255,255,255,.5); margin: 8px 0 0; line-height: 1.4; }
html.ay4 .ay4-res .ay4-sum .close { display: none; }

/* ---------- the search and passengers steps (today's view, v4 look) ---------- */
html.ay4.ay4-page-results .fz-band { position: relative; overflow: hidden; border-radius: 18px; background: var(--v4-band); color: #fff; border: 0; box-shadow: none; padding: 0; }
html.ay4.ay4-page-results .fz-band-top { background: transparent; padding: 12px 22px 6px; }
html.ay4.ay4-page-results .fz-band-route { font: 400 24px/1.1 var(--v4-serif); color: #fff; background: transparent !important; padding: 0 !important; border-radius: 0 !important; }
html.ay4.ay4-page-results .fz-band-route .arr { color: #FFD9E6 !important; }
html.ay4.ay4-page-results .fz-band-route b { font: 600 14px/1 var(--v4-sans); letter-spacing: .02em; }
html.ay4.ay4-page-results .fz-band-meta { color: rgba(255,255,255,.78); font-size: 12.5px; }
html.ay4.ay4-page-results .fz-band-edit { background: rgba(255,255,255,.12) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.28) !important; border-radius: 999px !important;
    height: 30px; padding: 0 12px !important; font: 500 12.5px/1 var(--v4-sans) !important; box-shadow: none !important; }
html.ay4.ay4-page-results .fz-band-edit.dark { background: var(--v4-surface) !important; color: var(--v4-plum) !important; border-color: var(--v4-line) !important; }
html.ay4.ay4-page-results .fz-steps2 { display: flex !important; background: transparent !important; padding: 2px 22px 12px; gap: 10px; justify-content: flex-start; }
html.ay4.ay4-page-results .fz-steps2 > span:not(.dash) { justify-content: flex-start; }
html.ay4.ay4-page-results .fz-steps2 i { width: 18px !important; height: 18px !important; font-size: 10px !important; }
html.ay4.ay4-page-results .fz-steps2 > span { background: transparent !important; color: rgba(255,255,255,.62) !important; font-size: 11.5px; padding: 0 !important; clip-path: none !important; }
html.ay4.ay4-page-results .fz-steps2 > span.on, html.ay4.ay4-page-results .fz-steps2 > span.done { color: #fff !important; font-weight: 500; }
html.ay4.ay4-page-results .fz-steps2 > span i { background: rgba(255,255,255,.14) !important; color: #fff !important; border: 0 !important; }
html.ay4.ay4-page-results .fz-steps2 > span.on i { background: var(--v4-violet) !important; }
html.ay4.ay4-page-results .fz-steps2 .dash { display: block !important; flex: none; width: 22px; height: 0; border-top: 1px solid rgba(255,255,255,.35); background: none !important; }
html.ay4.ay4-page-results :is(.fz-sum, .fz-spage, .fz-confirm) { background: var(--v4-surface); border: 1px solid var(--v4-line); border-radius: 14px; box-shadow: none; }
html.ay4.ay4-page-results .fz-spage-hd h2 { font: 400 24px/1.15 var(--v4-serif); color: var(--v4-plum); }
html.ay4.ay4-page-results .fz-gold { background: var(--v4-violet) !important; color: #fff !important; border: 0 !important; border-radius: 12px !important; font-weight: 500 !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 6px 16px -6px rgba(91,26,240,.55) !important; }
html.ay4.ay4-page-results .fz-gold:hover { background: var(--v4-violet-h) !important; }
html.ay4.ay4-page-results .fz-pill.y { background: var(--v4-violet-soft); color: var(--v4-violet); }
html.ay4.ay4-page-results .fz-link { color: var(--v4-violet); }

/* ---------- step 2 "Passengers" on one screen (asked 2026-10-09 15:00): the same fields, buttons and texts, packed tighter.
   Slim band (route, steps, Modify search on one line), the chosen flight in two short lines, each passenger in one card
   (title + Insert passport on one line, the ten fields on one row from 1200px), Contact and Terms side by side. ---------- */
html.ay4.ay4-page-results .fz-band:has(.fz-steps2 .on ~ .on), html.ay4.ay4-page-results .fz-band { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 16px; padding: 9px 18px; }
html.ay4.ay4-page-results .fz-band > .fz-band-top { display: contents; }
html.ay4.ay4-page-results .fz-band .fz-band-route { position: relative; font-size: 22px; }
html.ay4.ay4-page-results .fz-band .fz-band-meta { position: relative; }
html.ay4.ay4-page-results .fz-band .fz-steps2 { position: relative; order: 3; margin-left: auto; padding: 0; }
html.ay4.ay4-page-results .fz-band .fz-band-edit { position: relative; order: 4; }
html.ay4.ay4-page-results .fi-page-content:has(form[wire\:submit="reserve"]) { row-gap: 8px; }
html.ay4.ay4-page-results .fz-sum { padding: 8px 14px; margin: 0 !important; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] { margin: 0 !important; }
html.ay4.ay4-page-results .fz-sum-row { display: flex !important; align-items: center; gap: 8px 16px; flex-wrap: wrap; }
html.ay4.ay4-page-results .fz-sum-fl { flex: 1 1 380px; min-width: 0; }
html.ay4.ay4-page-results .fz-sum-fl .ln { font-size: 13px; }
html.ay4.ay4-page-results .fz-sum-cls { display: flex !important; flex-direction: row !important; align-items: center; gap: 8px; text-align: left !important; }
html.ay4.ay4-page-results .fz-sum-cls b { font-size: 17px; color: var(--v4-plum); }
html.ay4.ay4-page-results .fz-sum-cls small { font-size: 11.5px; color: var(--v4-muted); }
html.ay4.ay4-page-results .fz-sum-act { display: flex; align-items: center; gap: 12px; }
html.ay4.ay4-page-results .fz-sum-act .fz-band-edit.dark { height: 30px; }
html.ay4.ay4-page-results .fz-sum-feat { margin-top: 4px !important; padding-top: 0 !important; font-size: 12.5px; }
html.ay4.ay4-page-results .fz-sum-feat .fz-feat { padding: 4px 0 0 !important; border-top: 1px dashed var(--v4-line2); }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fz-terms { margin-bottom: 6px; border: 1px solid var(--v4-line); border-radius: 10px; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fz-terms summary { padding: 6px 12px; font: 500 12.5px/1.5 var(--v4-sans); color: var(--v4-violet); }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:not(:has(.fzp-box)) .fi-section-header { padding: 8px 14px 0 !important; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:not(:has(.fzp-box)) .fi-section-content { padding: 4px 14px 10px !important; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-select-input-btn { min-height: 0; padding-block: 5px; font-size: 13.5px; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-fo-checkbox-list, html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-fo-field-label-content { line-height: 1.4; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] > .fi-grid { gap: 8px; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section { border-radius: 14px; box-shadow: none; border: 1px solid var(--v4-line); }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section-header { padding: 8px 14px 0; border: 0; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section-header-text-ctn { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section-header-heading { font: 600 13.5px/1.4 var(--v4-sans); color: var(--v4-plum); }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section-header-description { margin: 0; font-size: 11.5px; color: var(--v4-muted); }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section-content-ctn { border: 0; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section-content { padding: 6px 14px 10px; gap: 8px; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-fo-field { row-gap: 3px; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-fo-field-label-content { font-size: 11.5px; font-weight: 500; color: var(--v4-muted); }
html.ay4.ay4-page-results form[wire\:submit="reserve"] :is(.fi-input, .fi-select-input) { padding-block: 5px; font-size: 13.5px; }
/* a passenger: the heading and Insert passport on one line, the fields under it */
@media (min-width: 760px) {
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 16px; padding: 8px 14px 10px; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) > .fi-section-header { padding: 0; grid-column: 1; grid-row: 1; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) :is(.fi-section-content-ctn, .fi-section-content) { display: contents; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) .fi-section-content > .fi-grid-col:first-child { grid-column: 2; grid-row: 1; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) .fi-section-content > .fi-grid-col:last-child { grid-column: 1 / -1; grid-row: 2; margin-top: 8px; }
}
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fzp-box { padding: 0; border: 0; background: none; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fzp-row { gap: 8px; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fzp-btn { height: 30px; padding: 0 12px; border-radius: 9px; font-size: 12.5px; background: var(--v4-violet); }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fzp-paste { height: 30px; min-height: 30px; padding: 5px 10px; font-size: 12px; border-radius: 9px; }
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fzp-hint { display: none; } /* the same text is the tip of Insert passport */
html.ay4.ay4-page-results form[wire\:submit="reserve"] .fzp-status:empty { display: none; }
@media (min-width: 1200px) {
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) .fi-section-content > .fi-grid-col:last-child .fi-grid {
        grid-template-columns: 76px minmax(0, 1.25fr) minmax(0, 1.25fr) 88px 150px 74px 96px 108px minmax(0, 1fr) 150px !important; gap: 8px !important; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) .fi-fo-field-label-content { white-space: nowrap; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) .fi-section-content > .fi-grid-col:last-child .fi-grid > .fi-grid-col { grid-column: auto !important; }
    /* Contact and Terms side by side */
    html.ay4.ay4-page-results form[wire\:submit="reserve"] > .fi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] > .fi-grid > .fi-grid-col { grid-column: 1 / -1 !important; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] > .fi-grid > .fi-grid-col:nth-last-child(-n+2) { grid-column: auto !important; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] > .fi-grid > .fi-grid-col:nth-last-child(-n+2) :is(.fi-sc-component, .fi-sc-section, .fi-section) { height: 100%; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] > .fi-grid > .fi-grid-col:nth-last-child(2) .fi-section-content .fi-grid { grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1.5fr) !important; gap: 8px !important; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] > .fi-grid > .fi-grid-col:nth-last-child(2) .fi-section-content .fi-grid > .fi-grid-col { grid-column: auto !important; }
}
@media (max-width: 759px) {
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) .fi-section-content > .fi-grid-col:last-child .fi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-auto-flow: dense; gap: 8px !important; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) .fi-section-content > .fi-grid-col:last-child .fi-grid > .fi-grid-col { grid-column: auto !important; }
    html.ay4.ay4-page-results form[wire\:submit="reserve"] .fi-section:has(.fzp-box) .fi-section-content > .fi-grid-col:last-child .fi-grid > .fi-grid-col:is(:nth-child(2), :nth-child(3)) { grid-column: 1 / -1 !important; }
    html.ay4.ay4-page-results .fz-confirm { flex-direction: column-reverse !important; align-items: stretch !important; }
}
html.ay4.ay4-page-results .fz-confirm { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 16px; margin-top: 8px; padding: 8px 14px; }
html.ay4.ay4-page-results .fz-confirm p { margin: 0; font-size: 12px; color: var(--v4-muted); max-width: 640px; }
html.ay4.ay4-page-results .fz-confirm .fz-gold { height: 40px; padding: 0 20px; white-space: nowrap; }


/* ---------- phones: the panel slides up from the bottom once a class is marked ---------- */
@media (max-width: 1023px) {
    html.ay4 .ay4-res .rs-cols { grid-template-columns: minmax(0, 1fr); }
    html.ay4 .ay4-res .ay4-sum { display: none; }
    html.ay4 .ay4-res .rs-cols.has-sel .ay4-sum { display: block; position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 45; border-radius: 18px 18px 0 0; max-height: 72vh; overflow-y: auto;
        padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); box-shadow: 0 -16px 40px -12px rgba(20,7,42,.5); }
    html.ay4 .ay4-res .rs-cols.has-sel .ay4-sum .close { display: block; position: absolute; top: 8px; right: 10px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
}
@media (max-width: 760px) {
    html.ay4 .ay4-res .ay4-rs { padding: 12px 14px; }
    html.ay4 .ay4-res .trail { font-size: 11px; gap: 6px; }
    html.ay4 .ay4-res .trail i { width: 12px; }
    html.ay4 .ay4-res .ay4-rs h1 { font-size: 24px; }
    html.ay4 .ay4-res .dates { margin: 10px -14px 0; padding: 0 14px; }
    html.ay4 .ay4-res .dates .dt { min-width: 74px; flex: none; }
    html.ay4 .ay4-res .dates .arr { display: none; }
    html.ay4 .ay4-res .seg { overflow-x: auto; scrollbar-width: none; max-width: 100%; }
    html.ay4 .ay4-res .seg button { flex: none; }
    html.ay4 .ay4-res .fl-top { padding: 10px 12px; }
    html.ay4 .ay4-res .leg { column-gap: 10px; }
    html.ay4 .ay4-res .tm b { font-size: 20px; }
    html.ay4 .ay4-res .fare { flex: 1 1 0; width: auto; min-width: 0; }
    html.ay4 .ay4-res .fare .pr { font-size: 16px; }
    html.ay4 .ay4-res .fl-links { padding: 6px 12px; gap: 4px 14px; }
    html.ay4 .ay4-res .fares.more-f { padding: 0 12px 10px; }
    html.ay4 .ay4-res .fares.more-f .fare { flex: 1 1 calc(50% - 4px); }
    html.ay4.ay4-page-results .fz-band-top { padding: 12px 14px 6px; }
    html.ay4.ay4-page-results .fz-steps2 { padding: 2px 14px 12px; }
}

/* ---------- filters on the left (asked 2026-10-09 15:25): price, stops, airlines, departure time. From 1400px a column left of
   the flights; narrower, a "Filters" button next to the sort opens them above the list. Only hides cards in the browser. ---------- */
html.ay4 .ay4-res .tm b { font-weight: 600; }
html.ay4 .ay4-res .fare .pr { font-weight: 700; }
html.ay4 .ay4-res .ftg { display: none; align-items: center; gap: 6px; margin-left: auto; height: 32px; padding: 0 12px; border: 1px solid var(--v4-line2); border-radius: 10px;
    background: var(--v4-surface); font: 500 12.5px/1 var(--v4-sans); color: var(--v4-plum); cursor: pointer; }
html.ay4 .ay4-res .ftg .ay4-i { width: 14px; height: 14px; color: var(--v4-violet); }
html.ay4 .ay4-res .ftg b { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--v4-violet); color: #fff; font-size: 11px; line-height: 18px; text-align: center; }
html.ay4 .ay4-res .ay4-flt { display: grid; align-content: start; background: var(--v4-surface); border: 1px solid var(--v4-line); border-radius: 14px; padding: 12px 14px 8px; font-size: 12.5px; color: var(--v4-text); }
html.ay4 .ay4-res .ay4-flt .fh { display: flex; align-items: center; justify-content: space-between; }
html.ay4 .ay4-res .ay4-flt .fh b { font-size: 14px; font-weight: 600; color: var(--v4-plum); }
html.ay4 .ay4-res .ay4-flt .fh button { padding: 0; border: 0; background: none; font: 500 12px/1.4 var(--v4-sans); color: var(--v4-violet); cursor: pointer; }
html.ay4 .ay4-res .ay4-flt .fh button:disabled { color: var(--v4-fog); cursor: default; }
html.ay4 .ay4-res .ay4-flt .fn { margin: 1px 0 8px; font-size: 11.5px; color: var(--v4-muted); font-variant-numeric: tabular-nums; }
html.ay4 .ay4-res .ay4-flt .fg { border-top: 1px solid var(--v4-line2); padding: 9px 0 7px; min-width: 0; }
html.ay4 .ay4-res .ay4-flt .ft { margin-bottom: 5px; font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--v4-muted); }
html.ay4 .ay4-res .ay4-flt .hist { display: flex; align-items: flex-end; gap: 2px; height: 38px; }
html.ay4 .ay4-res .ay4-flt .hist i { flex: 1; border-radius: 2px 2px 0 0; background: #B9A6FB; transition: background .15s; }
html.ay4 .ay4-res .ay4-flt .hist i.z { background: var(--v4-line2); }
html.ay4 .ay4-res .ay4-flt .hist i.off { background: var(--v4-line2); }
html.ay4 .ay4-res .ay4-flt input[type="range"] { width: 100%; margin: 4px 0 0; accent-color: var(--v4-violet); height: 16px; }
html.ay4 .ay4-res .ay4-flt .rg { display: flex; justify-content: space-between; gap: 6px; font-size: 11.5px; color: var(--v4-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
html.ay4 .ay4-res .ay4-flt .rg b { font-weight: 600; color: var(--v4-plum); }
html.ay4 .ay4-res .ay4-flt .ck { display: grid; grid-template-columns: 15px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 3px 0; cursor: pointer; }
html.ay4 .ay4-res .ay4-flt .ck input { width: 15px; height: 15px; margin: 0; accent-color: var(--v4-violet); cursor: pointer; }
html.ay4 .ay4-res .ay4-flt .ck span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--v4-plum); }
html.ay4 .ay4-res .ay4-flt .ck small { font-size: 11px; color: var(--v4-fog); margin-left: 2px; }
html.ay4 .ay4-res .ay4-flt .ck em { font-style: normal; font-size: 12px; color: var(--v4-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
html.ay4 .ay4-res .ay4-flt .dp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
html.ay4 .ay4-res .ay4-flt .dp label { position: relative; display: block; padding: 5px 8px; border: 1px solid var(--v4-line); border-radius: 10px; cursor: pointer; transition: border-color .15s, background .15s; }
html.ay4 .ay4-res .ay4-flt .dp label:hover { border-color: #B9A6FB; }
html.ay4 .ay4-res .ay4-flt .dp input { position: absolute; opacity: 0; pointer-events: none; }
html.ay4 .ay4-res .ay4-flt .dp b { display: block; font-size: 12.5px; font-weight: 600; color: var(--v4-plum); }
html.ay4 .ay4-res .ay4-flt .dp small { font-size: 11px; color: var(--v4-muted); font-variant-numeric: tabular-nums; }
html.ay4 .ay4-res .ay4-flt .dp label:has(input:checked) { border-color: var(--v4-violet); background: var(--v4-violet-soft); }
html.ay4 .ay4-res .ay4-flt .dp label:has(input:focus-visible) { outline: 2px solid var(--v4-violet); outline-offset: 1px; }
html.ay4 .ay4-res .ay4-flt .dp label.none { opacity: .45; cursor: default; }
@media (min-width: 1400px) {
    html.ay4 .ay4-res .rs-cols.has-flt { grid-template-columns: 196px minmax(0, 1fr) 290px; }
    html.ay4 .ay4-res .ay4-flt { position: sticky; top: 12px; }
}
@media (max-width: 1399px) {
    html.ay4 .ay4-res .ftg { display: inline-flex; }
    html.ay4 .ay4-res .ay4-flt { display: none; grid-column: 1 / -1; }
    html.ay4 .ay4-res .rs-cols.fo .ay4-flt { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); column-gap: 18px; }
    html.ay4 .ay4-res .rs-cols.fo .ay4-flt :is(.fh, .fn) { grid-column: 1 / -1; }
    html.ay4 .ay4-res .rs-cols.fo .ay4-flt .fg { border-top: 1px solid var(--v4-line2); }
}
@media (max-width: 1023px) {
    html.ay4 .ay4-res .rs-cols.has-flt { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- route rows (asked 2026-10-09 15:25): airline column with a coloured code badge, bold times, a duration line with
   Non-stop under it, column labels over the list, the sort buttons as four small cards. The list measures itself (container):
   wide = price boxes beside the route, narrow = under it; phone = the airline on its own line. ---------- */
html.ay4 .ay4-res .rs-list { container: rl / inline-size; min-width: 0; }
html.ay4 .ay4-res .seg.sm4 { display: grid; grid-template-columns: repeat(4, minmax(0, auto)); gap: 4px; padding: 4px; border-radius: 12px; }
html.ay4 .ay4-res .seg.sm4 button { display: grid; justify-items: start; gap: 1px; padding: 5px 14px 6px; border-radius: 9px; text-align: left; line-height: 1.25; }
html.ay4 .ay4-res .seg.sm4 button span { font-size: 11.5px; color: var(--v4-muted); }
html.ay4 .ay4-res .seg.sm4 button b { font-size: 14px; font-weight: 700; color: var(--v4-plum); font-variant-numeric: tabular-nums; white-space: nowrap; }
html.ay4 .ay4-res .seg.sm4 button.on { background: var(--v4-violet-soft); box-shadow: inset 0 -2px 0 var(--v4-violet); }
html.ay4 .ay4-res .seg.sm4 button.on span { color: var(--v4-violet); font-weight: 500; }
html.ay4 .ay4-res .rs-head { display: none; }
html.ay4 .ay4-res .leg { grid-template-columns: 124px 66px minmax(60px, 1fr) 66px; column-gap: 12px; }
html.ay4 .ay4-res .air { display: flex; align-items: center; gap: 10px; min-width: 0; }
html.ay4 .ay4-res .air .bdg { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--b, var(--v4-violet)); color: #fff;
    font-size: 12px; font-weight: 700; letter-spacing: .02em; }
html.ay4 .ay4-res .air .an { display: grid; min-width: 0; line-height: 1.3; }
html.ay4 .ay4-res .air .an b { font-size: 13px; font-weight: 600; color: var(--v4-plum); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ay4 .ay4-res .air .an small { font-size: 11.5px; color: var(--v4-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html.ay4 .ay4-res .tm b { font-size: 21px; font-weight: 700; letter-spacing: -.02em; }
html.ay4 .ay4-res .tm span { font-size: 12px; }
html.ay4 .ay4-res .tm span em { font-style: normal; font-weight: 600; color: var(--v4-plum); }
html.ay4 .ay4-res .path { font-size: 11.5px; }
html.ay4 .ay4-res .path .ns { font-weight: 600; }
@container rl (min-width: 700px) {
    html.ay4 .ay4-res .fl-top { gap: 12px; }
    html.ay4 .ay4-res .rs-head { display: grid; grid-template-columns: 124px 66px minmax(60px, 1fr) 66px 292px; column-gap: 12px; padding: 0 13px 6px 17px;
        font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--v4-fog); }
    html.ay4 .ay4-res .rs-head .c { text-align: center; }
    html.ay4 .ay4-res .rs-head .r { text-align: right; }
    html.ay4 .ay4-res .rs-head .fx { display: flex; gap: 8px; }
    html.ay4 .ay4-res .rs-head .fx i { width: 142px; font-style: normal; padding-left: 10px; }
    html.ay4 .ay4-res .fl-top .fares .fare { width: 142px; padding: 8px 9px; }
    html.ay4 .ay4-res .fl-top .fares .fare .pr { font-size: 17px; }
}
@container rl (max-width: 699px) {
    html.ay4 .ay4-res .fl-top { grid-template-columns: minmax(0, 1fr); }
    html.ay4 .ay4-res .fl-top .fares .fare { flex: 1 1 0; width: auto; }
}
@container rl (max-width: 599px) {
    html.ay4 .ay4-res .leg { grid-template-columns: auto minmax(70px, 1fr) auto; row-gap: 8px; }
    html.ay4 .ay4-res .air { grid-column: 1 / -1; }
    html.ay4 .ay4-res .air .bdg { width: 28px; height: 28px; border-radius: 8px; font-size: 11px; }
    html.ay4 .ay4-res .air .an { display: flex; align-items: baseline; gap: 8px; }
    html.ay4 .ay4-res .tm b { font-size: 19px; }
}
@media (max-width: 760px) {
    html.ay4 .ay4-res .seg.sm4 { display: flex; }
    html.ay4 .ay4-res .seg.sm4 button { padding: 4px 12px 5px; }
}
