/* FLIGHT: one readable visual system across desktop, touch, themes and RTL. */
.flight-ui{--ink-3:#9badc4;--fd-green:#8ce3bd;--fd-green-bg:rgba(55,211,155,.09)}
.flight-ui[data-day]{--ink-3:#49637d;--fd-green:#146547;--fd-green-bg:rgba(20,101,71,.07)}
.flight-ui body{overflow-x:visible}
.flight-ui [hidden]{display:none!important}
.flight-ui .wrap{max-width:1440px}
.flight-ui .rail{background:var(--void);backdrop-filter:none}
.flight-ui .rail-in{min-height:82px;gap:28px;flex-wrap:nowrap;overflow:visible;padding-inline:clamp(16px,3.2vw,48px)}
.flight-ui .mark{flex-shrink:0}
.flight-ui .wordmark{width:155px;height:52px;font-size:inherit}
.flight-ui #mainnav{display:flex;flex-direction:row;position:static;gap:7px;margin:0;align-items:center;flex-wrap:wrap;flex:1;min-width:0;background:none;border:0;padding:0;box-shadow:none}
.flight-ui #mainnav a{font:500 13px/1.4 "IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0;border:0;padding:11px 13px;border-radius:8px;white-space:nowrap}
.flight-ui #mainnav a:hover{background:var(--deck2)}
.flight-ui #mainnav .fd-current{background:var(--signal-soft);color:var(--signal-2)}
.flight-ui .rail-right{gap:8px;flex-wrap:nowrap}
.flight-ui .pill{min-height:42px;padding:9px 12px;border-radius:8px;font-size:11px;letter-spacing:.02em;text-transform:none}
.flight-ui select.pill{max-width:130px;padding-inline-end:23px}
.flight-ui .pill-ico{width:42px;flex:none}
.flight-ui #srcPill{display:none}
.flight-ui .hero{background:radial-gradient(ellipse at 85% 40%,var(--signal-soft),transparent 60%);border-bottom:1px solid var(--rule)}
.flight-ui .hero-in{display:block;padding-block:38px 22px}
.flight-ui .fd-hero-copy{max-width:1080px}
.flight-ui #heroEyebrow{font:700 12px/1.5 "JetBrains Mono",monospace;color:var(--signal-2);letter-spacing:.22em}
.flight-ui .h1-mod{font-size:clamp(32px,3.5vw,50px);line-height:1.12;letter-spacing:-.035em;max-width:25ch;margin-top:17px;text-transform:none;overflow-wrap:normal;word-break:normal}
.flight-ui .h1 .fd-title-0{color:var(--ink)}
.flight-ui .h1 .fd-title-1{color:var(--signal-2)}
.flight-ui .lede{font-size:16px;line-height:1.7;max-width:61ch;margin-top:19px}
.fd-promises{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;align-items:center}
.fd-direct,.fd-return{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;line-height:1.5;padding:6px 10px;border-radius:6px;border:1px solid transparent;width:fit-content;max-width:100%}
.fd-direct{color:var(--fd-green);background:var(--fd-green-bg);border-color:color-mix(in srgb,var(--fd-green) 25%,transparent)}
.fd-direct::before{content:"";width:5px;height:5px;flex:none;background:currentColor;border-radius:50%}
.fd-return{color:var(--signal-2);background:var(--signal-soft);border-color:var(--rule-hi)}
.fd-coverage{padding:27px;background:var(--deck);border:1px solid var(--rule);border-radius:15px;box-shadow:var(--shadow);min-width:0}
.flight-ui .hero-stats{display:grid;grid-template-columns:1fr 1fr;border:0;gap:23px 18px}
.flight-ui .hstat{padding:0;border:0;min-width:0}
.flight-ui .hstat:first-child{grid-column:1/-1;padding-bottom:21px;border-bottom:1px solid var(--rule)}
.flight-ui .hstat b{white-space:normal;overflow-wrap:normal;word-break:normal;font-size:clamp(24px,2.8vw,34px);font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.flight-ui .hstat:first-child b{color:var(--signal-2);font-size:clamp(30px,3.2vw,44px)}
.flight-ui .hstat .lbl{display:block;font:400 12px/1.5 "IBM Plex Sans",sans-serif;letter-spacing:0;text-transform:none;margin-top:6px}
.fd-observed{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--rule);color:var(--ink-3);font-size:12px;line-height:1.5}
.flight-ui .panel{background:var(--void);scroll-margin-top:95px;padding-top:0}
.flight-ui .panel-head{padding-block:24px}
.flight-ui .panel-head h2{font-size:22px;text-transform:none}
.flight-ui #panelHint{font:400 12px/1.5 "IBM Plex Sans",sans-serif;letter-spacing:0;text-transform:none;flex:1}
.flight-ui .tiny{min-height:38px;border-radius:6px;letter-spacing:.02em;text-transform:none;font-size:12px;padding:7px 10px}
.flight-ui .panel-body{border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:var(--deck)}
.flight-ui .step{border-inline-end:0;padding:25px}
.flight-ui .geo{padding:0}
.flight-ui .geo-head{background:var(--deck2)}
.flight-ui .tab{font:600 14px/1.4 "IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0;padding:17px 24px}
.flight-ui .tab:disabled{cursor:not-allowed;opacity:.42;background:transparent;color:var(--ink-3);box-shadow:none}
.flight-ui .tab:disabled:hover{background:transparent;color:var(--ink-3)}
.flight-ui .tab em{font:400 11px/1.4 "IBM Plex Sans",sans-serif;letter-spacing:0;margin-inline-start:9px}
.flight-ui .geo-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.flight-ui .geo-side{display:flex;flex-direction:column;padding:22px;gap:14px;min-width:0}
.fd-search-label{font-size:13px;font-weight:600;display:block}
.fd-search-field{display:flex;align-items:center;position:relative}
.flight-ui #find{width:100%;min-width:0;border:1px solid var(--rule-hi);border-radius:9px;background:var(--deck2);padding:12px 45px 12px 14px;font:400 14px/1.5 "IBM Plex Sans",sans-serif;min-height:48px}
.flight-ui[dir=rtl] #find{padding:12px 14px 12px 45px}
#fdClearFind{position:absolute;inset-inline-end:3px;background:none;border:0;min-height:42px;width:40px;font-size:23px;color:var(--ink-2);cursor:pointer}
.fd-find-hint{margin:0;color:var(--ink-3);font-size:12px;line-height:1.6;min-height:2em}
.fd-origin-required{display:flex;align-items:center;gap:10px;margin:0;padding:11px 13px;border:1px solid color-mix(in srgb,var(--signal) 45%,var(--rule));border-radius:9px;background:var(--signal-soft);color:var(--signal-2);font-size:12px;font-weight:650;line-height:1.45}
.fd-origin-required::before{content:"01";display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:7px;background:var(--signal);color:var(--void);font:700 10px/1 "JetBrains Mono",monospace}
.flight-ui[data-day] .fd-origin-required::before{color:#fff}
.flight-ui.fd-needs-origin .geo-side{background:linear-gradient(145deg,var(--signal-soft),transparent 44%)}
.flight-ui.fd-needs-origin #find{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-soft)}
.flight-ui.fd-needs-origin .fd-search-label{color:var(--signal-2)}
.fd-browse{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.flight-ui #contBar{display:flex;flex-direction:column;gap:6px;flex:1;min-width:130px;margin:0}
.flight-ui #contBar label,.flight-ui .fd-geo-lists h3{font:600 12px/1.5 "IBM Plex Sans",sans-serif;letter-spacing:0;text-transform:none;color:var(--ink-2);margin:0 0 5px}
#fdCont{background:var(--deck2);border:1px solid var(--rule-hi);border-radius:7px;min-height:44px;max-width:100%;padding:8px 10px;font-size:13px}
.flight-ui #dMode{margin:0;gap:5px}
.fd-geo-lists{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:12px}
.fd-geo-lists.fd-country-only,.fd-geo-lists.fd-airport-only{grid-template-columns:1fr}
.flight-ui .picklist{border-radius:8px;max-height:235px!important;min-height:130px;scrollbar-width:thin}
.flight-ui .pk{min-height:44px;font-size:13px;padding:10px;gap:8px;align-items:center}
.flight-ui .pk .nm{white-space:normal;overflow-wrap:normal;word-break:normal;overflow:visible;text-overflow:clip;line-height:1.4}
.flight-ui .pk .sub{display:block;font:400 11px/1.45 "IBM Plex Sans",sans-serif;color:var(--ink-3);margin-top:3px;letter-spacing:0}
.fd-iata{flex:none;min-width:34px;min-height:25px;padding:3px;display:grid;place-items:center;font:600 11px/1.2 "JetBrains Mono",monospace;background:var(--signal-soft);color:var(--signal-2);border:1px solid var(--rule-hi);border-radius:5px}
.flight-ui .pk input{width:17px;height:17px;flex:none}
.fd-empty-pick{font:400 12px/1.6 "IBM Plex Sans",sans-serif;color:var(--ink-3);padding:14px;margin:0}
#fdMatchNote,#fdCityMore{color:var(--ink-3);font-size:11px;margin:7px 0 0}
.flight-ui #fdCityFind{width:100%;min-width:0;border:1px solid var(--rule-hi);border-radius:9px;background:var(--deck2);padding:12px 45px 12px 14px;font:400 14px/1.5 "IBM Plex Sans",sans-serif;min-height:48px}
.flight-ui[dir=rtl] #fdCityFind{padding:12px 14px 12px 45px}
.flight-ui #find,.flight-ui #fdCityFind{text-overflow:ellipsis}
#fdClearCity{position:absolute;inset-inline-end:3px;background:none;border:0;min-height:42px;width:40px;font-size:23px;color:var(--ink-2);cursor:pointer}
.fd-city-group{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--rule)}
.fd-city-group .fd-find-hint{min-height:0}
.flight-ui #ctryList,.flight-ui #cityList{max-height:196px!important;min-height:0}
.flight-ui .fd-search-label.fd-level-on,.flight-ui .fd-browse.fd-level-on label{color:var(--signal-2)}
.flight-ui .fd-level-on .picklist,.flight-ui .fd-browse.fd-level-on #fdCont{border-color:var(--signal)}
.fd-dest-state{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;padding:9px 12px;border:1px solid var(--rule-hi);border-radius:9px;background:var(--signal-soft);font-size:12.5px;line-height:1.45;min-width:0}
.fd-dest-state .fd-dest-kind{color:var(--ink-3);font-size:11px}
.fd-dest-state b{color:var(--ink);font-weight:650;overflow-wrap:normal;word-break:normal;min-width:0}
.fd-dest-codes{display:flex;flex-wrap:wrap;gap:4px}
.fd-dest-codes bdi{font:600 10.5px/1.2 "JetBrains Mono",monospace;color:var(--signal-2);border:1px solid var(--rule-hi);border-radius:4px;padding:3px 5px;background:var(--deck2)}
.fd-dest-state button{margin-inline-start:auto;background:none;border:0;min-width:36px;min-height:36px;font-size:21px;line-height:1;color:var(--ink-2);cursor:pointer;border-radius:6px}
.fd-dest-state button:hover,.fd-dest-state button:focus-visible{color:var(--ink);background:var(--deck2)}
#fdSelected{padding-top:10px;border-top:1px solid var(--rule)}
#fdSelected summary{font-size:12px;color:var(--ink-2);cursor:pointer;padding:8px 0}
#fdSelected summary b{color:var(--signal-2);font-variant-numeric:tabular-nums;margin-inline-start:6px}
.fd-selected-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;max-height:150px;overflow:auto}
.fd-selected-chips button{display:flex;align-items:center;gap:7px;max-width:100%;border:1px solid var(--rule-hi);background:var(--signal-soft);border-radius:6px;min-height:38px;font-size:11px;padding:6px 9px;cursor:pointer}
.fd-selected-chips button span{overflow-wrap:normal;word-break:normal}
.fd-selected-chips bdi{color:var(--signal-2);font-family:"JetBrains Mono",monospace}
.flight-ui .step>h3{font:600 15px/1.5 "IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0;color:var(--ink)}
.flight-ui .step>h3 em{letter-spacing:0;text-transform:none;font-size:12px}
.flight-ui .hint{max-width:90ch;line-height:1.65}
.flight-ui .seg{font:500 12px/1.5 "IBM Plex Sans",sans-serif;letter-spacing:0;text-transform:none;border-radius:7px;padding:9px 12px;min-height:42px}
.flight-ui .segbar{gap:7px;margin-block:9px 16px}
.flight-ui .seg.on{color:var(--void)}
.flight-ui[data-day] .seg.on{color:#fff}
.flight-ui .limits{gap:14px}
.flight-ui .fd-range-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.flight-ui .limits .lbl{font:500 12px/1.5 "IBM Plex Sans",sans-serif;text-transform:none;letter-spacing:0;color:var(--ink-2)}
.flight-ui .fd-range-card{background:linear-gradient(145deg,color-mix(in srgb,var(--signal) 3%,var(--deck2)),var(--deck2));border-color:var(--rule);transition:border-color .15s ease,background .15s ease}
.flight-ui .fd-range-card:focus-within{border-color:color-mix(in srgb,var(--signal) 58%,var(--rule-hi));background:linear-gradient(145deg,color-mix(in srgb,var(--signal) 6%,var(--deck2)),var(--deck2))}
.flight-ui .fd-range-head output{font-size:12px;min-width:0;color:var(--signal-2)}
.flight-ui .rangeRow{margin-top:7px;min-height:44px}
.flight-ui #rngBudget,.flight-ui #rngNights{min-width:60px}
.flight-ui .fd-range-scale{font-size:9.5px;color:var(--ink-3)}
.fd-help{font-size:11px;line-height:1.6;color:var(--ink-3);margin:10px 0 0;max-width:85ch}
.flight-ui .panel-foot{padding-block:20px 27px}
.flight-ui .cta{min-height:48px;border-radius:8px;padding:13px 30px;font:600 14px/1.4 "IBM Plex Sans",sans-serif;letter-spacing:0;text-transform:none}
.flight-ui .cta s{display:none}
.flight-ui .foot-note{font:400 12px/1.6 "IBM Plex Sans",sans-serif;letter-spacing:0}
.flight-ui #board{padding-block:12px 28px;scroll-margin-top:100px}
.fd-search-feedback{padding-top:16px;min-width:0;color:var(--ink-2);font-size:12px;line-height:1.5}
.fd-search-track{height:3px;overflow:hidden;border-radius:3px;background:var(--signal-soft);visibility:hidden;margin-bottom:5px}
.fd-search-track span{display:block;width:35%;height:100%;background:var(--signal);transform:translateX(-110%)}
.fd-search-feedback.is-loading .fd-search-track{visibility:visible}
.fd-search-feedback.is-loading .fd-search-track span{animation:fd-search-sweep 1.3s ease-in-out infinite}
.fd-search-message,#fdSearchMeasure{display:grid;min-width:0}
#fdSearchMeasure,#fdSearchStatus{grid-area:1/1;margin:0;min-width:0;max-width:100%;overflow-wrap:normal;word-break:normal}
#fdSearchMeasure{visibility:hidden;pointer-events:none;user-select:none}
#fdSearchMeasure span{grid-area:1/1;min-width:0}
@keyframes fd-search-sweep{to{transform:translateX(390%)}}
[dir=rtl] .fd-search-track span{direction:ltr}
@media(prefers-reduced-motion:reduce){
 .fd-search-feedback.is-loading .fd-search-track span{animation:none;transform:none;width:100%;opacity:.75}
}
.fd-board-heading{display:flex;align-items:center;justify-content:flex-start;gap:20px;margin-bottom:19px}
.fd-board-heading h2{font-size:28px;letter-spacing:-.035em;line-height:1.2}
.fd-count{display:flex;align-items:center;gap:10px;background:var(--deck2);border:1px solid var(--rule);border-radius:9px;padding:10px 15px;min-width:0}
.fd-count b{font:600 24px/1.2 "JetBrains Mono",monospace;color:var(--signal-2)}
.fd-count span{font-size:12px;line-height:1.4;color:var(--ink-2)}
.flight-ui .fd-section-title{font:600 14px/1.5 "IBM Plex Sans",sans-serif;color:var(--ink);letter-spacing:0;text-transform:none;margin:0 0 10px}
.flight-ui .fd-section-title.fd-shape-title{margin-top:16px}
.fd-local-note{font-size:11px;line-height:1.6;color:var(--ink-2);margin:12px 0 0}
.fd-schedule-wrap{min-width:0;margin:0}
.flight-ui .fd-schedule{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;min-width:0}
.fd-leg{min-width:0;border:1px solid var(--rule);border-radius:7px;background:var(--deck2);padding:7px 9px}
.fd-leg-label{display:block;color:var(--signal-2);font-size:10px;font-weight:600;line-height:1.4;margin-bottom:4px}
.fd-leg-clocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.fd-clock{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.fd-clock>span{font-size:9px;color:var(--ink-2);line-height:1.35;overflow-wrap:normal;word-break:normal}
.fd-clock time,.fd-clock-missing{font:600 13px/1.4 "JetBrains Mono",monospace;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;direction:ltr;unicode-bidi:isolate}
.fd-clock time small{font:500 9px/1 "IBM Plex Sans",sans-serif;color:var(--signal-2);vertical-align:super;margin-inline-start:2px}
.fd-times-missing{min-width:0;margin:8px 0 0;font-size:11px;line-height:1.45;color:var(--ink-2);overflow-wrap:anywhere}
.fd-times-missing b{font-weight:600;color:var(--ink)}
.fd-airport-change{margin:6px 0 0;font-size:10.5px;line-height:1.4;font-weight:600;color:var(--signal-2);overflow-wrap:anywhere}
.flight-ui .flight-result .fd-source-actions{display:block;grid-column:1/-1;margin:0;font-size:9.5px;line-height:1.4;color:var(--ink-2)}
#fdApplied{display:flex;flex-wrap:wrap;gap:8px}
.fd-filter{padding:8px 12px;border-radius:7px;background:var(--deck);border:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:7px;align-items:baseline;min-width:0;max-width:100%}
.fd-filter span{font-size:11px;color:var(--ink-3)}
.fd-filter b{font-size:12px;font-weight:500;overflow-wrap:normal;word-break:normal}
#fdPending{padding:12px 15px;background:var(--alert-soft);border:1px solid var(--alert);border-radius:8px;font-size:13px;color:var(--ink);margin:14px 0 0}
.fd-method-note{margin:17px 0 0;max-width:90ch}
.fd-method-note summary{font-size:12px;color:var(--ink-2);cursor:pointer;min-height:35px}
.fd-method-note p{font-size:12px!important;line-height:1.7;color:var(--ink-3);border:0;padding:0;margin:8px 0!important;font-family:"IBM Plex Sans",sans-serif;letter-spacing:0}
.fd-empty-origin{margin-top:8px;border:1px solid color-mix(in srgb,var(--signal) 45%,var(--rule));border-radius:12px;background:linear-gradient(145deg,var(--signal-soft),var(--deck));padding:28px 22px}
.fd-empty-origin .fd-empty-step{display:grid;place-items:center;width:36px;height:36px;margin:0 auto 12px;border-radius:9px;background:var(--signal);color:var(--void);font:700 11px/1 "JetBrains Mono",monospace}
.flight-ui[data-day] .fd-empty-origin .fd-empty-step{color:#fff}
.fd-empty-origin p{max-width:58ch;margin:0 auto 16px;line-height:1.6}
.fd-empty-origin .btn{width:min(100%,300px);margin-inline:auto}
.flight-ui #mhead{display:flex!important;grid-template-columns:none;gap:7px;align-items:center;flex-wrap:wrap;position:static;border:0;background:none;padding:14px 0 19px}
.flight-ui #mhead>*{padding:0;grid-column:auto;grid-row:auto;align-self:auto;width:auto}
.fd-sort-label{font-size:12px;color:var(--ink-3);margin-inline-end:7px}
.flight-ui #mhead .fd-sort{padding:8px 13px;font-size:12px;border:1px solid var(--rule);border-radius:7px;background:var(--deck);color:var(--ink-2);cursor:pointer;min-height:40px}
.flight-ui #mhead .fd-sort.on{border-color:var(--signal);color:var(--signal-2);background:var(--signal-soft)}
.flight-ui .flight-result.mrow{display:grid;grid-template-columns:46px minmax(0,1fr) 190px minmax(220px,250px);grid-template-rows:auto;gap:18px 20px;padding:18px 20px;margin-bottom:12px;align-items:start;background:var(--deck);border:1px solid var(--rule);border-radius:14px;min-width:0}
.flight-ui .flight-result.mrow:hover{background:var(--deck);border-color:var(--rule-hi)}
.flight-ui .flight-result.fd-first{border-color:color-mix(in srgb,var(--alert) 50%,var(--rule));box-shadow:inset 3px 0 0 var(--alert)}
.flight-ui[dir=rtl] .flight-result.fd-first{box-shadow:inset -3px 0 0 var(--alert)}
.flight-ui .flight-result.fd-shared{position:relative;border-color:var(--signal)!important;box-shadow:inset 4px 0 0 var(--signal),0 0 0 1px color-mix(in srgb,var(--signal) 30%,transparent),0 10px 34px -24px var(--signal)}
.flight-ui[dir=rtl] .flight-result.fd-shared{box-shadow:inset -4px 0 0 var(--signal),0 0 0 1px color-mix(in srgb,var(--signal) 30%,transparent),0 10px 34px -24px var(--signal)}
.fd-shared-tag{font-size:10px;line-height:1.4;padding:4px 7px;border-radius:5px;border:1px solid color-mix(in srgb,var(--signal) 45%,var(--rule));background:var(--signal-soft);color:var(--signal-2)}
.flight-ui .flight-result.mrow>*{padding:0;min-width:0}
.flight-ui .flight-result.mrow .rk{grid-column:1;grid-row:1;justify-self:start;align-self:start;display:grid;place-items:center;min-width:38px;width:auto;min-height:38px;height:auto;padding:9px 7px;border-radius:8px;background:var(--deck3);color:var(--ink);border:1px solid var(--rule-hi);font:600 13px/1 "JetBrains Mono",monospace;font-variant-numeric:tabular-nums;letter-spacing:0;direction:ltr;unicode-bidi:isolate}
.flight-ui .flight-result.fd-first .rk{background:var(--alert);color:#fff;border-color:var(--alert)}
.flight-ui .flight-result .fd-main{grid-column:2;grid-row:1;min-width:0}
.flight-ui .flight-result .route{display:block;min-width:0}
.flight-ui .flight-result .route h3{display:flex;align-items:center;gap:9px;font-size:23px;line-height:1.18;letter-spacing:-.03em;overflow-wrap:normal;word-break:normal}
.fd-itinerary{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:12px;color:var(--ink-2)}
.fd-itinerary bdi{font:500 12px "JetBrains Mono",monospace;color:var(--ink)}
.fd-dates{font-size:12px;line-height:1.45;margin:5px 0 0;color:var(--ink-2);font-variant-numeric:tabular-nums}
.fd-dates time{display:inline-block;white-space:nowrap;unicode-bidi:isolate}
.fd-dates time i{font-style:normal;color:var(--ink-3)}
.fd-dates time b{font-weight:600;color:var(--ink)}
.fd-date-arrow{display:inline-block;margin:0 3px;color:var(--signal-2);font-weight:600;direction:ltr;unicode-bidi:isolate}
.fd-route-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;align-items:start;min-width:0}
.fd-carriers{display:grid;gap:2px;min-width:0;max-width:100%}
.fd-carrier,.fd-history{font-size:10.5px;color:var(--ink-2);line-height:1.4}
.fd-carrier{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap;min-width:0;max-width:100%}
.fd-carrier span{color:var(--ink-3)}
.fd-carrier bdi{font-weight:600;color:var(--ink-2);min-width:0;max-width:100%;white-space:normal}
.fd-history{padding:4px 7px;border:1px solid var(--rule-hi);border-radius:5px}
.fd-source{font-size:10px;margin:6px 0 0;color:var(--ink-3)}
.fd-source-actions{display:none}
.fd-value{grid-column:3;grid-row:1;display:flex;flex-direction:column;gap:9px;min-width:0}
.fd-price{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.fd-price>bdi{font:700 clamp(22px,2.3vw,30px)/1.15 Archivo,system-ui,sans-serif;letter-spacing:-.035em;max-width:100%;overflow-wrap:normal;word-break:normal}
.fd-price .fd-return{padding:3px 7px;font-size:10.5px}
.fd-price small{font-size:10.5px;color:var(--ink-3)}
.fd-price .fd-person{color:var(--ink-2);font-weight:500}
.fd-price .fd-bag-estimate{color:var(--warn);line-height:1.4}
.fd-score{padding:9px 11px!important;background:var(--deck2);border:1px solid var(--rule);border-radius:9px}
.fd-score>span{font-size:9.5px;color:var(--ink-3);display:block;line-height:1.35}
.fd-score>div{display:flex;align-items:baseline;gap:4px;margin:3px 0 4px;direction:ltr;unicode-bidi:isolate}
.fd-score b{font:600 23px/1.15 "JetBrains Mono",monospace;color:var(--signal-2);font-variant-numeric:tabular-nums}
.fd-score small{font:400 11px/1.35 "IBM Plex Sans",sans-serif;color:var(--ink-3)}
.fd-score meter{width:100%;height:5px;display:block;appearance:none;-webkit-appearance:none;background:var(--deck3);border:0;border-radius:5px}
.fd-score meter::-webkit-meter-bar{height:5px;background:var(--deck3);border:0;border-radius:5px}
.fd-score meter::-webkit-meter-optimum-value{background:var(--signal);border-radius:5px}
.fd-score meter::-moz-meter-bar{background:var(--signal);border-radius:5px}
.fd-metrics{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px;padding-top:9px!important;border-top:1px solid var(--rule)}
.fd-metrics>div{display:flex;flex-direction:column;gap:2px}
.fd-metrics span{font-size:9.5px;line-height:1.35;color:var(--ink-3);text-transform:none;letter-spacing:0}
.fd-metrics b{font:500 11.5px/1.4 "IBM Plex Sans",sans-serif;white-space:normal;font-variant-numeric:tabular-nums}
.fd-metrics .fd-discount b{color:var(--signal-2);font-weight:650}
.flight-ui .flight-result .acts{grid-column:4;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%;align-self:start;justify-self:end;align-items:stretch}
.flight-ui .flight-result .acts>.btn,.flight-ui .flight-result .acts>.fd-activity-group{width:100%;min-width:0}
.flight-ui .btn{font:500 12px/1.4 "IBM Plex Sans",sans-serif;letter-spacing:0;text-transform:none;border-radius:7px;padding:8px 10px;min-height:40px;min-width:0;white-space:normal;text-align:center;overflow-wrap:normal;word-break:normal}
.flight-ui .btn.pri{background:var(--signal);border-color:var(--signal);color:var(--void)}
.flight-ui[data-day] .btn.pri{color:#fff}
.flight-ui .btn.fd-activity{width:100%;padding-inline-end:30px;border-color:color-mix(in srgb,var(--fd-green) 40%,transparent);color:var(--fd-green)}
.fd-activity-group{display:grid;position:relative;min-width:0}
.fd-act-info{position:absolute;inset-inline-end:4px;top:4px;z-index:3;display:block}
.fd-act-info summary{list-style:none;display:grid;place-items:center;width:19px;height:19px;border:1px solid var(--rule-hi);border-radius:50%;background:var(--deck2);color:var(--ink-2);font:600 9px/1 "IBM Plex Sans",sans-serif;cursor:pointer;user-select:none}
.fd-act-info summary::-webkit-details-marker{display:none}
.fd-act-info>.fd-act-popover{display:none;visibility:hidden;position:fixed;z-index:130;width:min(290px,calc(100vw - 24px));padding:13px 42px 13px 14px;border:1px solid var(--rule-hi);border-radius:9px;background:var(--deck);box-shadow:0 18px 45px rgba(0,0,0,.38);color:var(--ink-2);font:400 12px/1.55 "IBM Plex Sans",sans-serif;text-align:start}
.fd-act-info[open]>.fd-act-popover{display:block}
.fd-act-info.fd-popover-ready[open]>.fd-act-popover{visibility:visible}
.fd-act-copy{display:block}
.fd-act-close{position:absolute;inset-inline-end:7px;top:7px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--rule-hi);border-radius:7px;background:var(--deck2);color:var(--ink);font:500 18px/1 "IBM Plex Sans",sans-serif;cursor:pointer}
.fd-act-close:hover,.fd-act-close:focus-visible{border-color:var(--signal);color:var(--signal-2)}
.flight-ui .fd-copy{color:var(--ink-3)}
.flight-ui .fd-copy:disabled{opacity:.5;cursor:not-allowed}
.fd-how{padding:42px 0;border-top:1px solid var(--rule);scroll-margin-top:100px}
.fd-how h2{font-size:24px;margin:0 0 18px}
.fd-how .fd-stat-panel{margin:0 0 26px}
.fd-how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fd-how-grid article{padding:23px;border:1px solid var(--rule);border-radius:12px;background:var(--deck)}
.fd-how-grid h3{font-size:16px;line-height:1.4;margin:0 0 10px}
.fd-how-grid p{font-size:13px;color:var(--ink-2);line-height:1.7;margin:0}
.fd-sort-explain dl{display:grid;gap:9px;margin:13px 0 0}
.fd-sort-explain dl>div{display:grid;grid-template-columns:minmax(68px,auto) 1fr;gap:9px;padding-top:9px;border-top:1px solid var(--rule)}
.fd-sort-explain dt{font-size:11px;font-weight:600;color:var(--ink)}
.fd-sort-explain dd{margin:0;font-size:11px;line-height:1.5;color:var(--ink-3)}
@media(min-width:1201px){
 .flight-ui .hero-in{padding-block:27px 16px}
 .flight-ui .fd-hero-copy{max-width:none}
 .flight-ui .h1-mod{font-size:clamp(36px,2.8vw,42px);line-height:1.08;max-width:none;margin-top:11px;overflow-wrap:normal}
 .flight-ui .h1-mod .fd-title-0,.flight-ui .h1-mod .fd-title-1{display:inline}
 .flight-ui .lede{font-size:15.5px;line-height:1.55;max-width:none;margin-top:12px}
}
@media(max-width:1200px){.fd-how-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fd-how-grid{grid-template-columns:1fr}}
.flight-ui footer .wordmark{width:125px;height:42px}
@media(max-width:1200px){
 .flight-ui .rail-in{gap:15px}.flight-ui #mainnav a{padding:10px;font-size:12px}
 .flight-ui .flight-result.mrow{grid-template-columns:42px minmax(0,1fr) 180px 220px;gap:15px;padding:18px}
}
@media(max-width:1050px) and (min-width:761px){
 .flight-ui .flight-result.mrow{grid-template-columns:40px minmax(0,1fr) 190px;grid-template-rows:auto auto;gap:14px 16px}
 .flight-ui .flight-result.mrow .rk{grid-column:1;grid-row:1/3}
 .flight-ui .flight-result .fd-main{grid-column:2;grid-row:1/3}
 .flight-ui .flight-result .fd-value{grid-column:3;grid-row:1}
 .flight-ui .flight-result .acts{grid-column:3;grid-row:2;align-self:start}
}
@media(max-width:1000px){
 .flight-ui .rail-in{flex-wrap:wrap;padding-block:12px;gap:9px 16px}.flight-ui #mainnav{order:3;flex-basis:100%;gap:7px}
 .flight-ui .rail-right{margin-inline-start:auto}.flight-ui .geo-body{grid-template-columns:1fr}
 .flight-ui .geo-globe{border-inline-end:0;border-bottom:1px solid var(--rule)}.flight-ui #globe{height:310px}
 .flight-ui .hstat b{font-size:25px}
}
@media(max-width:760px){
 .flight-ui .geo-globe{display:none}
 .flight-ui .rail{position:relative}.flight-ui .rail-in{min-height:0}.flight-ui .wordmark{width:132px;height:45px}
 .flight-ui .rail-right{flex-wrap:wrap;gap:6px;flex:1;min-width:0}.flight-ui .pill{padding:8px;font-size:10px;min-height:40px}
 .flight-ui .pill-ico{width:38px}.flight-ui select.pill{max-width:115px}.flight-ui #shareBtn{display:none}
 .flight-ui #mainnav a{font-size:12px;padding:10px 11px}
 .flight-ui .hero-in{padding-block:24px 13px}.flight-ui .h1-mod{font-size:clamp(19.5px,6.2vw,24.5px);line-height:1.1;max-width:none;margin-top:11px}.flight-ui .lede{font-size:14px;line-height:1.55;max-width:68ch;margin-top:13px}
 .flight-ui:lang(it) .h1-mod .fd-title-0,.flight-ui:lang(it) .h1-mod .fd-title-1{display:block;max-width:100%;white-space:nowrap;letter-spacing:-.045em}
 .fd-coverage{padding:18px}.fd-observed{margin-top:14px;padding-top:11px}
 .flight-ui .panel-head{padding-block:16px 17px;gap:12px}.flight-ui .panel-head h2{font-size:20px}.flight-ui #panelHint{flex-basis:60%;font-size:11px}
 .flight-ui .geo-side{padding:17px}.flight-ui .tab{padding:13px 16px;white-space:normal;font-size:14px}.flight-ui .tab em{display:block;margin:5px 0 0 16px}
 .flight-ui .fd-geo-lists{grid-template-columns:1fr}
 .flight-ui .geo-side.fd-searching .fd-find-hint,
 .flight-ui .geo-side.fd-searching #fdOriginRequired{display:none!important}
 .flight-ui .geo-side.fd-searching #apLbl{color:var(--signal-2)}
 .flight-ui .geo-side.fd-searching #apList{max-height:280px!important;min-height:0}
 .flight-ui .geo-head .sp{padding:9px 15px;justify-content:flex-end}.flight-ui .step{padding:19px}.flight-ui .geo{padding:0}
 .flight-ui .limits{display:grid;grid-template-columns:1fr;gap:12px}
 .flight-ui .fd-range-card{padding:13px 14px 11px}
 .flight-ui .fd-range-head output{font-size:12.5px;padding:5px 9px}
 .flight-ui #find,.flight-ui #fdCityFind,.flight-ui #fdCont{font-size:16px}
 .fd-board-heading{align-items:flex-start;gap:15px;flex-wrap:wrap}.fd-board-heading h2{font-size:25px}.fd-count{padding:8px 12px}.fd-count b{font-size:22px}
 .flight-ui #board{padding-top:28px;scroll-margin-top:15px}
 .flight-ui .flight-result.mrow{grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto auto auto;gap:12px 10px;padding:15px 14px}
 .flight-ui .flight-result.mrow .rk{grid-column:1;grid-row:1;min-width:32px;min-height:32px;padding:8px 4px;font-size:12px}
 .flight-ui .flight-result .fd-main{display:contents}
 .flight-ui .flight-result .route{grid-column:2;grid-row:1}.flight-ui .flight-result .route h3{font-size:22px;gap:8px}
 .fd-itinerary{margin-top:5px}.fd-dates{margin-top:5px}.fd-route-tags{margin-top:8px;gap:6px}.fd-source{margin-top:6px}
 .flight-ui .flight-result .fd-value{grid-column:1/3;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch}
 .fd-price{grid-column:1;grid-row:1;gap:3px}.fd-price>bdi{font-size:27px;letter-spacing:-.04em}.fd-price .fd-return{font-size:10px;padding:3px 6px}
 .fd-score{grid-column:2;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;gap:4px 7px;padding:9px 10px!important}
 .fd-score>span{grid-column:1;grid-row:1;font-size:9.5px;align-self:center}.fd-score>div{grid-column:2;grid-row:1;margin:0;align-self:center}.fd-score b{font-size:21px}.fd-score meter{grid-column:1/3;grid-row:2;min-width:0}
 .fd-metrics{grid-column:1/3;grid-row:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:0;padding-top:10px!important}
 .fd-metrics>div{min-width:0;padding:0 6px;border-inline-end:1px solid var(--rule);gap:2px}.fd-metrics>div:nth-child(4){border-inline-end:0}
 .fd-metrics span{font-size:9px;line-height:1.3}.fd-metrics b{font-size:11.5px;line-height:1.35;overflow-wrap:normal;word-break:normal}
 .fd-metrics .fd-discount{grid-column:1/-1;display:flex;flex-direction:row;align-items:baseline;gap:5px;margin-top:8px;padding:7px 6px 0;border-top:1px solid var(--rule);border-inline-end:0}
 .flight-ui .flight-result .acts{grid-column:1/3;grid-row:4;gap:6px;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:42px;align-items:stretch}
 .flight-ui .flight-result .acts>.btn,.flight-ui .flight-result .acts>.fd-activity-group{width:100%;height:42px;min-height:42px;box-sizing:border-box}
 .flight-ui .flight-result .acts>.btn{display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 10px;font-size:11.5px;line-height:1.25}
 .flight-ui .flight-result .acts>.fd-activity-group{display:grid;padding:0}
 .flight-ui .flight-result .acts .fd-activity{display:flex;width:100%;height:100%;min-height:0;box-sizing:border-box;align-items:center;justify-content:center;text-align:center;padding-block:6px;padding-inline:30px;font-size:11.5px;line-height:1.25}
 .flight-ui .flight-result .fd-act-info{top:11px;inset-inline-end:5px;transform:none}
 .flight-ui .flight-result .fd-act-info summary{width:20px;height:20px}
 .flight-ui .flight-result .acts .fd-copy{width:100%}
 .fd-how-grid{grid-template-columns:1fr}.fd-how{scroll-margin-top:20px}
}
@media(max-width:430px){
 .flight-ui .rail-right{gap:5px;justify-content:flex-end}.flight-ui select.pill{max-width:96px}.flight-ui .wordmark{width:108px;height:38px}
 .flight-ui .rail-in{gap:9px}.fd-geo-lists{grid-template-columns:1fr}
 .flight-ui #ctryList,.flight-ui #cityList{max-height:170px!important}.flight-ui #apList{max-height:230px!important}.flight-ui .pill-ico{width:32px}
 .flight-ui #mainnav{gap:2px}.flight-ui #mainnav a{padding:10px 9px;font-size:11px}.flight-ui .geo-side{padding:14px}.flight-ui .pk{min-height:45px}
 .fd-promises{gap:7px}.fd-direct,.fd-return{font-size:11px}.fd-filter{padding:7px 9px}.flight-ui .flight-result.mrow{padding:14px 12px;gap:11px 8px}
}
.flight-ui[dir=rtl] .h1-mod,.flight-ui:lang(ta) .h1-mod,.flight-ui:lang(th) .h1-mod,.flight-ui:lang(hi) .h1-mod,.flight-ui:lang(bn) .h1-mod{letter-spacing:0;line-height:1.35}
/* Desktop result density: keep the mobile card untouched, but use the
   horizontal room on large screens instead of stacking metadata vertically. */
@media(min-width:1180px){
 .flight-ui .flight-result.mrow{grid-template-columns:42px minmax(0,1fr) 168px minmax(220px,250px);gap:10px 17px;padding:8px 15px 7px;margin-bottom:10px;align-items:start}
 .flight-ui .flight-result.mrow .rk{min-width:34px;min-height:34px;padding:8px 6px;font-size:12px}
 .flight-ui .flight-result .route{display:block;min-width:0}
 .flight-ui .flight-result .route h3{font-size:20px;line-height:1.12;min-width:0}
 .flight-ui .flight-result .fd-itinerary{margin-top:4px;white-space:nowrap}
 .flight-ui .flight-result .fd-dates{margin-top:3px;white-space:nowrap}
 .flight-ui .flight-result .fd-route-tags{margin-top:5px;gap:6px;min-width:0}
 .flight-ui .flight-result .fd-source-mobile{display:none}
 .flight-ui .flight-result .fd-metrics{margin-top:5px;padding-top:5px!important;gap:6px 15px;align-items:end;border-top:1px solid var(--rule)}
 .flight-ui .flight-result .fd-metrics>div{gap:1px}
 .flight-ui .flight-result .fd-metrics span{font-size:9px}
 .flight-ui .flight-result .fd-metrics b{font-size:11px}
 .flight-ui .flight-result .fd-value{gap:6px}
 .flight-ui .flight-result .fd-price{gap:2px}
 .flight-ui .flight-result .fd-price>bdi{font-size:27px;line-height:1.05}
 .flight-ui .flight-result .fd-price small{font-size:9.5px}
 .flight-ui .flight-result .fd-price .fd-return{padding:3px 6px;font-size:9.5px}
 .flight-ui .flight-result .fd-score{padding:7px 9px!important}
 .flight-ui .flight-result .fd-score>span{font-size:9px}
 .flight-ui .flight-result .fd-score>div{margin:2px 0 3px}
 .flight-ui .flight-result .fd-score b{font-size:20px}
 .flight-ui .flight-result .fd-score small{font-size:10px}
 .flight-ui .flight-result .acts{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:36px 36px auto;gap:6px;align-self:stretch}
 .flight-ui .flight-result .acts>.btn,.flight-ui .flight-result .acts>.fd-activity-group{width:100%;height:36px;min-height:36px;box-sizing:border-box}
 .flight-ui .flight-result .acts>.btn{display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 8px;font-size:11px;line-height:1.25}
 .flight-ui .flight-result .acts>.fd-activity-group{display:grid;padding:0}
 .flight-ui .flight-result .acts .fd-activity{display:flex;width:100%;height:100%;min-height:0;box-sizing:border-box;align-items:center;justify-content:center;text-align:center;padding:6px 28px;font-size:11px;line-height:1.25}
 .flight-ui .flight-result .fd-act-info{top:3px;inset-inline-end:3px}
 .flight-ui .flight-result .fd-act-info summary{width:18px;height:18px}
 .flight-ui .flight-result .fd-source-actions{display:block;grid-column:1/-1;align-self:end;justify-self:end;margin:0;padding-top:1px;font-size:9.5px;line-height:1.2;text-align:end;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
 .flight-ui .tick-track{will-change:auto}
 .flight-ui .fd-tick-clip{overflow:hidden}.flight-ui *{scroll-behavior:auto!important}
}

/* Search heading: on roomy layouts the two guarantees sit beside the title,
   sharing one visual baseline. On narrow screens they wrap below the title,
   but keep exactly the same left edge instead of drifting under the icon. */
.flight-ui .panel-head{display:grid;grid-template-columns:46px auto minmax(0,1fr);grid-template-rows:auto;column-gap:18px;align-items:center;padding-block:22px 19px}
.flight-ui .panel-head h2{grid-column:2;grid-row:1;margin:0;font-family:Archivo,system-ui,sans-serif;font-size:clamp(30px,3vw,40px);font-weight:650;line-height:1.15;letter-spacing:-.025em;white-space:nowrap}
.flight-ui #panelToggle{grid-column:1;grid-row:1;align-self:center;width:46px;height:46px;border:1px solid var(--rule-hi);border-radius:12px;background:var(--signal-soft);color:var(--signal-2);padding:0;display:grid;place-items:center}
.flight-ui #panelHint{grid-column:3;grid-row:1;display:flex;gap:8px;flex-wrap:wrap;align-items:center;align-self:center;justify-content:flex-start;min-width:0}
.flight-ui #panelHint .fd-direct,.flight-ui #panelHint .fd-return{font-size:11px;padding:5px 9px;font-weight:500;letter-spacing:.01em;line-height:1.45}
.flight-ui .panel-body>.fd-search-commit{grid-column:1/-1;display:grid;gap:8px;padding:22px 24px 26px;border-top:1px solid var(--rule);background:var(--deck2)}
.flight-ui .panel-body>.fd-search-commit .cta{width:100%;min-height:52px;justify-content:center}
.flight-ui .panel-body>.fd-search-commit #searchNote{max-width:none;text-align:start;line-height:1.45}
@media(max-width:900px){
 .flight-ui .panel-head{grid-template-columns:42px auto minmax(0,1fr);column-gap:14px;padding-block:20px 18px}
 .flight-ui #panelToggle{width:42px;height:44px}
 .flight-ui .panel-head h2{grid-column:2;grid-row:1;font-size:31px}
 .flight-ui #panelHint{grid-column:3;grid-row:1;gap:6px}
 .flight-ui #panelHint .fd-direct,.flight-ui #panelHint .fd-return{font-size:10px;padding:5px 8px}
}
@media(max-width:700px){
 .flight-ui .panel-head{grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;column-gap:11px;row-gap:7px;padding-block:15px 16px}
 .flight-ui #panelToggle{grid-column:1;grid-row:1 / span 2;width:40px;height:44px}
 .flight-ui .panel-head h2{grid-column:2;grid-row:1;font-size:28px}
 .flight-ui #panelHint{grid-column:2;grid-row:2;gap:6px}
 .flight-ui .panel-body>.fd-search-commit{padding:18px 16px 20px}
}
/* Archive coverage: four readable measures, not search results or promises. */
/* The counts never break (1 117 396 is one token) and are the widest thing in a
   cell: 17cqi keeps about six em of digits inside every cell, in every locale
   (fr/fa separators included), capped by the design size. */
.flight-ui .fd-stat-panel{padding:20px;background:linear-gradient(145deg,var(--deck2),var(--deck));border:1px solid var(--rule);border-radius:18px}
.flight-ui #fdCoverageTitle{margin:0 0 15px;font:500 13px/1.5 "IBM Plex Sans",sans-serif;color:var(--ink-2);letter-spacing:.025em;text-transform:none;overflow-wrap:normal;word-break:normal}
.flight-ui .fd-stat-panel .hero-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.flight-ui .fd-stat-panel .hstat{position:relative;grid-column:auto;padding:16px 14px 14px;border:1px solid var(--rule);border-radius:11px;min-width:0;background:color-mix(in srgb,var(--fd-stat) 4%,var(--deck));overflow:hidden;container-type:inline-size}
.flight-ui .fd-stat-panel .hstat:first-child{grid-column:auto;padding:16px 14px 14px;border-bottom:1px solid var(--rule)}
.flight-ui .fd-stat-fares{--fd-stat:#75d9fa}
.flight-ui .fd-stat-origins{--fd-stat:#83dcb4}
.flight-ui .fd-stat-destinations{--fd-stat:#bea7ff}
.flight-ui .fd-stat-countries{--fd-stat:#ffcd85}
.flight-ui[data-day] .fd-stat-fares{--fd-stat:#075f7d}
.flight-ui[data-day] .fd-stat-origins{--fd-stat:#166844}
.flight-ui[data-day] .fd-stat-destinations{--fd-stat:#60449c}
.flight-ui[data-day] .fd-stat-countries{--fd-stat:#8a4b13}
.flight-ui .fd-stat-panel .fd-stat-accent{display:block;margin:0 0 12px;width:25px;height:3px;border-radius:3px;background:var(--fd-stat)}
.flight-ui .fd-stat-panel .hstat b,.flight-ui .fd-stat-panel .hstat:first-child b{color:var(--fd-stat);font-size:min(clamp(25px,2.3vw,34px),17cqi);font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums;letter-spacing:-.035em;direction:ltr;unicode-bidi:isolate}
.flight-ui .fd-stat-panel .hstat .lbl{font-size:12px;line-height:1.45;min-height:0;margin-top:8px;color:var(--ink-2);overflow-wrap:normal;word-break:normal}
.flight-ui .fd-stat-panel .fd-observed{margin-top:15px;padding-top:12px;display:flex;gap:4px 7px;align-items:baseline;flex-wrap:wrap}
.flight-ui .fd-stat-panel .fd-observed time{color:var(--ink-2)}
@media(max-width:760px){
 .flight-ui .fd-how{padding-top:34px}
 .flight-ui .fd-how h2{margin-bottom:15px}
 .flight-ui .fd-how .fd-stat-panel{margin-bottom:22px}
 .flight-ui .fd-stat-panel{padding:17px}
 .flight-ui .fd-stat-panel .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .flight-ui .fd-stat-panel .hstat,.flight-ui .fd-stat-panel .hstat:first-child{padding:16px 12px 14px}
 .flight-ui .fd-stat-panel .hstat b,.flight-ui .fd-stat-panel .hstat:first-child b{font-size:min(clamp(23px,7vw,30px),17cqi)}
 .flight-ui .fd-stat-panel .hstat .lbl{font-size:11.5px;line-height:1.4}
}
@media(max-width:430px){
 .flight-ui .fd-stat-panel .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .flight-ui .fd-stat-panel .hstat,.flight-ui .fd-stat-panel .hstat:first-child{padding:14px 7px 12px}
 .flight-ui .fd-stat-panel .hstat .lbl{font-size:10.5px;line-height:1.35;letter-spacing:-.01em}
}
@media(max-width:380px){
 .flight-ui:lang(it) .h1-mod{font-size:19.5px}
 .flight-ui .flight-result .fd-schedule{grid-template-columns:1fr;gap:6px}
 .flight-ui .fd-stat-panel{padding:15px}
 .flight-ui .fd-stat-panel .hero-stats{gap:9px}
 .flight-ui .fd-stat-panel .hstat,.flight-ui .fd-stat-panel .hstat:first-child{padding:14px 9px 12px}
 .flight-ui .fd-stat-panel .hstat b,.flight-ui .fd-stat-panel .hstat:first-child b{font-size:min(22px,17cqi)}
}

/* Keep the dates separate from the two local flight schedules. */
.flight-ui .flight-result .fd-dates{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px;white-space:normal}
.flight-ui .flight-result .acts .fd-activity{padding-inline:28px;text-align:center}
@media(min-width:1180px){
 .flight-ui .flight-result .fd-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.7fr);column-gap:12px}
 .flight-ui .flight-result .route{grid-column:1;grid-row:1}
 .flight-ui .flight-result .fd-schedule-wrap{grid-column:2;grid-row:1;align-self:start}
 .flight-ui .flight-result .fd-times-missing{grid-column:2;grid-row:1;align-self:start;margin-top:0}
 .flight-ui .flight-result .fd-schedule{grid-template-columns:1fr;margin-top:0;gap:5px}
 .flight-ui .flight-result .fd-metrics{grid-column:1/-1}
 /* Share a line when the intrinsic clocks fit; wrap long locales intact. */
 .fd-leg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:5px 8px}
 .fd-leg-label{flex:0 0 auto;margin-bottom:0;overflow-wrap:normal;word-break:normal;hyphens:none}
 .fd-leg-clocks{flex:1 1 auto;grid-template-columns:repeat(2,minmax(min-content,1fr))}
}
@media(max-width:1000px){
 .flight-ui .geo-side{grid-row:1}
 .flight-ui .geo-globe{grid-row:2;border-bottom:0;border-top:1px solid var(--rule)}
}
@media(min-width:1180px) and (max-width:1300px){
 .flight-ui .flight-result.mrow{grid-template-columns:34px minmax(0,1fr) 150px 230px;column-gap:12px}
 .flight-ui .flight-result .acts>.btn{padding-block:4px}
 .flight-ui .flight-result .acts .fd-activity{padding:4px 24px}
}
@media(max-width:760px){
 .fd-board-heading{justify-content:space-between}
 .flight-ui .flight-result .fd-schedule-wrap{grid-column:1/-1;grid-row:2;margin-top:0;border-top:1px solid var(--rule);padding-top:8px}
 .flight-ui .flight-result .fd-times-missing{grid-column:1/-1;grid-row:2;margin-top:0;border-top:1px solid var(--rule);padding-top:8px}
 /* Each leg needs room for two clocks and unbroken localized labels. */
 .flight-ui .flight-result .fd-schedule{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:8px;margin-top:0}
 .flight-ui .flight-result .fd-value{grid-row:3}
 .flight-ui .flight-result .fd-metrics{grid-row:4}
 .flight-ui .flight-result .acts{grid-row:5;grid-template-rows:42px 42px auto;grid-auto-rows:auto}
 .flight-ui .flight-result .fd-source-actions{width:100%;justify-self:stretch;text-align:center;padding-top:4px}
 .fd-clock time,.fd-clock-missing{font-size:14px}
}

/* Human-language copy may wrap at normal linguistic opportunities, never at
   arbitrary character boundaries. word-break:normal preserves native browser
   segmentation for CJK/Thai while preventing Latin/Arabic/etc. word splits. */
.flight-ui :where(h1,h2,h3,p,label,button,summary,.lbl,.nm,.fd-dest-state,.fd-filter,.fd-leg-label,.fd-clock>span,.fd-result-pref-copy,.fd-sort-label){
  word-break:normal;
  overflow-wrap:normal;
}
.flight-ui :where(.fd-leg-label,.fd-result-pref-copy){hyphens:none}

/* Final narrow-screen override: this must follow the general <=760px schedule
   rule above so 320px devices stack outbound/return cards instead of forcing
   four clock columns into one row. */
@media(max-width:380px){
 .flight-ui .flight-result .fd-schedule{grid-template-columns:1fr;gap:6px}
}


/* Result preferences sit between trip shape and the quantitative ranges.
   Native checkboxes keep keyboard/screen-reader semantics; the compact switch
   adds a second, positional state cue so colour is never the only signal. */
.fd-result-prefs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0 12px}
.fd-result-pref{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-width:0;min-height:48px;padding:9px 12px;border:1px solid var(--rule);border-radius:10px;
  background:var(--deck2);cursor:pointer;transition:border-color .14s,background-color .14s,box-shadow .14s}
.fd-result-pref:hover{border-color:var(--rule-hi);background:color-mix(in srgb,var(--deck2) 86%,var(--signal-soft))}
.fd-result-pref:focus-within{outline:2px solid var(--signal);outline-offset:2px;border-color:var(--signal)}
.fd-result-pref[hidden]{display:none!important}
.fd-result-pref-copy{min-width:0;font-size:12.5px;line-height:1.35;font-weight:600;color:var(--ink);
  overflow-wrap:normal;word-break:normal;hyphens:none}
.fd-result-pref input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.fd-pref-switch{position:relative;display:block;flex:0 0 auto;width:44px;height:24px;border:1px solid var(--rule-hi);
  border-radius:999px;background:var(--deck);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rule) 55%,transparent);
  transition:background-color .14s,border-color .14s}
.fd-pref-switch i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ink-3);
  box-shadow:0 1px 4px rgba(0,0,0,.28);transition:transform .16s,background-color .16s}
.fd-result-pref input:checked + .fd-pref-switch{background:var(--signal-soft);border-color:var(--signal)}
.fd-result-pref input:checked + .fd-pref-switch i{transform:translateX(20px);background:var(--signal-2)}
[dir=rtl] .fd-result-pref input:checked + .fd-pref-switch i{transform:translateX(20px)}
@media(max-width:560px){
  .fd-result-prefs{grid-template-columns:1fr;gap:7px;margin-top:14px}
  .fd-result-pref{min-height:48px}
}

/* On-demand details: dormant while FD_DETAILS.on is false. Text and borders
   identify the states as well as colour; native links retain keyboard access. */
.flight-ui .fd-detail-state{display:inline-flex;align-items:center;max-width:100%;min-width:0;
 padding:4px 8px;border:1px solid var(--rule-hi);border-radius:6px;font-size:11px;
 font-weight:600;line-height:1.45;color:var(--ink-2);background:var(--deck2);
 white-space:normal;word-break:normal;overflow-wrap:normal;hyphens:none}
.flight-ui .fd-detail-state[data-state="complete"]{color:var(--ink);border-color:var(--signal);
 background:var(--signal-soft)}
.flight-ui .fd-detail-state[data-state="pending"]{border-style:dashed}
.flight-ui .fd-detail-state[data-state="unverifiable"]{border-style:solid}
.flight-ui .flight-result .acts .fd-offer-unconfirmed{height:auto;min-height:42px;
 grid-column:1/-1;padding:10px 12px;white-space:normal;text-align:center;line-height:1.4;
 word-break:normal;overflow-wrap:normal;hyphens:none;background:var(--deck2);color:var(--ink);
 border:1px solid var(--rule-hi)}
.flight-ui .flight-result .acts .fd-offer-unconfirmed:hover{border-color:var(--signal)}
.flight-ui .flight-result .acts .fd-offer-unconfirmed:focus-visible{outline:2px solid var(--signal);outline-offset:3px}
.flight-ui .flight-result .acts:has(.fd-offer-unconfirmed){grid-template-rows:minmax(42px,auto) minmax(36px,auto) auto}
@media(max-width:760px){
 .flight-ui .flight-result .acts:has(.fd-offer-unconfirmed){grid-template-rows:minmax(42px,auto) 42px auto}
}
