/* Navy palette matches aeroinis-design-system.css home tokens: #0F1E33 / #1B3050. */
/* Flight-search presentation only. Original brand and shared passenger panel stay intact. */
body.flights-v2{--sans:'Satoshi',Arial,sans-serif;--fx-navy:#0F1E33;--fx-navy-light:#1B3050;--fx-muted:#607185;--fx-line:#dde5ed;background:#f7f9fc;color:#0F1E33;font-family:var(--sans)}
.flights-v2 *{box-sizing:border-box}
.flights-v2 [hidden]{display:none!important}
.flights-v2 button,.flights-v2 input,.flights-v2 select{font-family:inherit}
.flights-v2 :focus-visible{outline:3px solid #98722c;outline-offset:4px}
.flights-v2 .jp-wrap{width:min(1240px,calc(100% - 64px));max-width:1240px}
.flights-v2 .jp-nav,.flights-v2 .jp-nav.is-solid{position:absolute;top:18px;left:24px;right:24px;width:auto;background:rgba(15,30,51,.8);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.2);border-radius:12px;box-shadow:0 8px 30px #0F1E3312;z-index:100}
.flights-v2 .jp-nav>.jp-wrap{width:100%;padding:0 24px;min-height:70px;gap:24px}
.flights-v2 .jp-nav nav{gap:24px;margin-left:auto}
.flights-v2 .jp-nav nav a{font-size:12px;letter-spacing:.07em;color:#f3f7fa;opacity:1}
.flights-v2 .jp-nav nav a[aria-current]{border-bottom:2px solid #c8a96a;padding-bottom:8px}
.flights-v2 .jp-mark{flex-shrink:0}.flights-v2 .jp-mark__w{color:#fff}
.flights-v2 .jp-lang,.flights-v2 .jp-lang a,.flights-v2 .aiauth-link{color:white;font-size:12px}
/* nowrap and the colour are this page's; the size is the component's */
.flights-v2 .jp-ghost{white-space:nowrap;color:#e0c487}
.flights-v2 .aiauth-pill{color:white}.flights-v2 .aiauth-menu{color:#0F1E33}
.flights-v2 .fx-hero{position:relative;min-height:365px;padding:142px 0 76px;background:#edf3f8 url('../img/jet/flights-hero.webp') center 52%/cover no-repeat}
.flights-v2 .fx-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f5f8fbee 0%,#f5f8fbd9 33%,#f5f8fb00 70%)}
.flights-v2 .fx-hero>.jp-wrap{position:relative}
.flights-v2 .fx-eyebrow{font-size:12px!important;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#866329;margin:0 0 14px!important}
.flights-v2 .fx-hero h1{font:700 clamp(34px,4.1vw,58px)/1.06 var(--sans);letter-spacing:-.045em;margin:0 0 16px;max-width:690px}
.flights-v2 .fx-hero h1 span{white-space:nowrap}
.flights-v2 .fx-hero p{font-size:19px;margin:0 0 10px;max-width:570px;line-height:1.5}
.flights-v2 .fx-hero small{font-size:14px;color:#4d6276}
.flights-v2 .fl-body{padding:0 0 64px;overflow:visible;position:relative;margin-top:-42px}
.flights-v2 .board{border:0;background:transparent;padding:0;overflow:visible}
.flights-v2 .asb{margin:0;position:relative;z-index:30;box-shadow:0 12px 28px #0F1E3310;border-radius:12px}
.flights-v2 .asb__modes,.flights-v2 .asb__foot{display:none}
.flights-v2 .asb__panel{display:grid;grid-template-columns:2.2fr 1fr 1.15fr .95fr;gap:0;background:white;padding:12px;border:1px solid var(--fx-line);border-radius:12px;min-height:98px}
.flights-v2 .asb__pair{display:grid;grid-template-columns:1fr 1fr;position:relative;min-width:0}
.flights-v2 .asb__cell{min-width:0;background:white!important;border:0!important;border-right:1px solid var(--fx-line)!important;border-radius:0;padding:10px 18px;justify-content:center}
.flights-v2 .asb__lab{color:#5b6d80;font-size:11px;letter-spacing:.08em;font-weight:600;margin-bottom:6px}
.flights-v2 .asb__cell input{color:#0F1E33;font-size:16px;font-weight:600;padding:0;background:transparent;border:0;width:100%;min-width:0}
.flights-v2 .asb__cell input::placeholder{color:#0F1E33;opacity:1}
.flights-v2 .asb__swap{background:white;border:1px solid var(--fx-line);width:30px;height:30px;right:calc(50% - 15px);top:20px;z-index:1;color:#536c80}
.flights-v2 .asb__go{background:#0F1E33;color:white;border-radius:8px;margin-left:12px;font-size:15px;font-weight:600;letter-spacing:0;min-height:62px;display:flex;gap:10px;align-items:center;justify-content:center}
.flights-v2 .asb__go:hover,.flights-v2 .elm-book:hover{background:#1B3050;color:white}
.flights-v2 .asb__sub{font-size:12px;color:#607185;margin-top:4px}
.flights-v2 .paxp__btn{color:#0F1E33;font-size:15px;min-height:25px}
.flights-v2 .paxp__sum{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}
.flights-v2 .paxp__panel{z-index:150;font-size:14px;box-shadow:0 18px 55px #0F1E3330;border:1px solid #dce3eb}
.flights-v2 .paxp__done{background:#0F1E33;color:white}
.flights-v2 .fx-search-hint{font-size:13px;color:#607185;margin:12px 2px 22px}
.flights-v2 .fx-shortcuts{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 38px;font-size:13px}
.flights-v2 .fx-shortcuts>span{font-weight:600;margin-right:8px}
.flights-v2 .fx-shortcuts button{border:1px solid var(--fx-line);background:white;color:#1B3050;padding:9px 16px;border-radius:22px;font-size:13px;cursor:pointer}
.flights-v2 .fx-shortcuts [aria-pressed=true]{background:#0F1E33;color:white;border-color:#0F1E33}
.flights-v2 .fx-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.flights-v2 h2.fx-results-title,.flights-v2 .fx-section-head h2{font:700 28px/1.2 var(--sans);letter-spacing:-.025em;margin:0;color:#0F1E33}
.flights-v2 .fx-section-head p{font-size:15px;color:#607185;margin:8px 0 0}
.flights-v2 .fx-section-head>a{font-size:14px;color:#1B3050;text-decoration:none;white-space:nowrap}
.flights-v2 .fx-featured{margin-bottom:40px}
.flights-v2 .fx-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.flights-v2 .elm-card{border:1px solid var(--fx-line);border-radius:10px;box-shadow:none;background:white;display:grid;grid-template-columns:210px minmax(0,1fr) 205px;min-height:190px;color:#0F1E33;overflow:hidden}
.flights-v2 .elm-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #0F1E3312;border-color:#b5c6d5}
.flights-v2 .elm-card__media{min-height:190px;background:#e6edf3}
.flights-v2 .elm-card__media img{height:100%;width:100%;object-fit:cover}
.flights-v2 .elm-card__body{padding:20px 24px;gap:8px}
.flights-v2 .elm-card__route{gap:16px;justify-content:flex-start}
.flights-v2 .elm-card__route>div{display:flex;flex-direction:column;gap:4px}
.flights-v2 .elm-card__route b{order:-1;font-size:21px;letter-spacing:-.025em}
.flights-v2 .elm-card__route small{display:none}
.flights-v2 .elm-card__route .elm-card__mid{flex:0 0 35px;align-items:center}
.flights-v2 .elm-card__mid i{font-size:0}.flights-v2 .elm-card__mid i:after{content:'→';font-size:24px;color:#8298aa;letter-spacing:0}
.flights-v2 .elm-card__mid>span{display:none}
.flights-v2 .elm-code{border:0;background:none;color:#607185;font:400 12px var(--sans);padding:0}
.flights-v2 .elm-card__when{font-size:14px;color:#1B3050}
.flights-v2 .elm-card__ac{font-size:13px;color:#607185;line-height:1.5}
.flights-v2 .elm-card__verified{font-size:12px;color:#607185;margin:0}
.flights-v2 .elm-card__amens,.flights-v2 .elm-card__more,.flights-v2 .elm-card__deskbadge{display:none}
.flights-v2 .elm-card__cta{border:0;padding:20px;align-items:stretch;text-align:left;justify-content:center;gap:3px}
.flights-v2 .elm-card__price{font-size:26px;color:#0F1E33;font-weight:700;letter-spacing:-.035em}
.flights-v2 .elm-card__cta small{font-size:13px;color:#607185}
.flights-v2 .elm-book{font-size:14px;text-transform:none;letter-spacing:0;font-weight:600;min-height:44px;border-radius:6px;background:#0F1E33;color:white;margin-top:14px}
.flights-v2 .fx-featured .elm-card{grid-template-columns:1fr;min-height:0;position:relative}
.flights-v2 .fx-featured .elm-card__media{height:180px;min-height:180px}
.flights-v2 .fx-featured .elm-card__body{padding:18px 18px 0}
.flights-v2 .fx-featured .elm-card__route b{font-size:19px}
.flights-v2 .fx-featured .elm-card__verified{display:none}
.flights-v2 .fx-featured .elm-card__cta{padding:12px 18px 18px;display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center}
.flights-v2 .fx-featured .elm-card__cta small{grid-column:1}
.flights-v2 .fx-featured .elm-book{grid-column:2;grid-row:1/3;margin:0;padding:10px 13px;font-size:13px}
.flights-v2 .fx-featured .elm-card__price{font-size:23px}
.flights-v2 .elm-shell{display:block;margin-top:20px}
.flights-v2 .elm-head{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.flights-v2 .elm-head>b{order:-2;font-size:16px}.flights-v2 .fx-results-note{font-size:12px;color:#607185}
.flights-v2 .elm-fresh{display:none}
.flights-v2 .elm-filterbtn,.flights-v2 .elm-sort{font-size:14px;color:#1B3050;border:1px solid var(--fx-line);border-radius:7px;padding:10px 14px;background:white}
.flights-v2 .elm-filterbtn{margin-left:auto}.flights-v2 .elm-sort{margin-left:0}
.flights-v2 .elm-chips{gap:8px}.flights-v2 .elm-chips button{font-size:13px;border-color:var(--fx-line);border-radius:7px;padding:9px 14px}
.flights-v2 .elm-chips .is-empty{display:none}.flights-v2 .elm-chips button.on{background:#0F1E33;color:white;border-color:#0F1E33}
.flights-v2 .elm-list{display:grid;grid-template-columns:1fr!important;gap:14px}
.flights-v2 .fx-results-title{scroll-margin-top:30px}
.flights-v2 .fx-destinations{margin-top:48px}.flights-v2 .fx-destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.flights-v2 .fx-destination{padding:0;overflow:hidden;border-radius:9px;border:1px solid var(--fx-line);background:white;color:#0F1E33;text-align:left;cursor:pointer}
.flights-v2 .fx-destination img{display:block;width:100%;height:175px;object-fit:cover;transition:transform .25s}
.flights-v2 .fx-destination:hover img{transform:scale(1.035)}
.flights-v2 .fx-destination>span{display:grid;gap:6px;padding:16px}.flights-v2 .fx-destination b{font-size:18px}.flights-v2 .fx-destination small{font-size:13px;color:#1B3050}
.flights-v2 .fx-explain{display:flex;gap:22px;align-items:center;padding:24px;background:#f5f1e8;border:1px solid #e6ddca;border-radius:9px;margin:30px 0 18px}
.flights-v2 .fx-explain>span{font-size:32px;color:#987b42}.flights-v2 .fx-explain h2{font:700 17px var(--sans);margin:0 0 6px}.flights-v2 .fx-explain p{font-size:14px;color:#607185;line-height:1.65;margin:0}
.flights-v2 .fx-alert{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#0F1E33;color:white;padding:30px;border-radius:10px}
.flights-v2 .fx-alert>div{display:flex;gap:20px;align-items:center}.flights-v2 .fx-alert svg{width:30px;height:30px}.flights-v2 .fx-alert h2{font:600 21px var(--sans);margin:0 0 8px}.flights-v2 .fx-alert p{font-size:14px;margin:0;color:#cbd7e1}
.flights-v2 .fx-alert a{padding:14px 20px;background:white;border-radius:6px;color:#0F1E33;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none}
.flights-v2 .fl-note{font-size:13px;max-width:45ch;color:#607185}
.flights-v2 .jp-footer{background:#0F1E33;padding:46px 0 22px;font-size:14px}.flights-v2 .jp-footer a{color:#e1e9f0}
.flights-v2 .jp-concierge{width:46px;height:46px;bottom:20px;right:20px}
.flights-v2 .fx-loading{background:white;border:1px solid var(--fx-line);padding:36px;border-radius:12px;color:#607185;min-height:110px}
.flights-v2 .elm-empty{border:1px dashed #c7d4df;background:#fff;padding:40px;border-radius:10px}.flights-v2 .elm-empty h3{font:700 25px var(--sans);color:#0F1E33}.flights-v2 .elm-empty p{color:#607185;font-size:16px}
@media(min-width:1100px){.flights-v2 .elf{position:fixed;left:auto;right:0;top:0;bottom:0;width:340px;max-height:100dvh;transform:translateX(110%);z-index:1100;overflow:auto}.flights-v2 .elf.is-open{transform:translateX(0)}}
@media(max-width:1100px){.flights-v2 .jp-nav>.jp-wrap{gap:14px;padding:0 16px}.flights-v2 .jp-nav nav{gap:15px}.flights-v2 .jp-ghost{display:none}.flights-v2 .asb__panel{grid-template-columns:2fr 1fr 1fr}.flights-v2 .asb__go{grid-column:1/-1;min-height:44px;margin:8px 0 0}.flights-v2 .elm-card{grid-template-columns:170px 1fr 175px}.flights-v2 .fx-featured .elm-card__cta{grid-template-columns:1fr}.flights-v2 .fx-featured .elm-book{grid-column:1;grid-row:auto;margin-top:8px}.flights-v2 .fx-featured .elm-card__route b{font-size:17px}}
@media(max-width:760px){.flights-v2 .jp-wrap{width:calc(100% - 32px)}.flights-v2 .jp-nav,.flights-v2 .jp-nav.is-solid{top:10px;left:10px;right:10px;border-radius:9px}.flights-v2 .jp-nav>.jp-wrap{min-height:60px;padding:0 12px;gap:12px}.flights-v2 .jp-mark__w{font-size:10px;letter-spacing:.2em}.flights-v2 .jp-mark__i{width:29px;height:29px}.flights-v2 .jp-lang{margin-left:auto;font-size:11px}.flights-v2 .aiauth-link{font-size:10px;letter-spacing:0}.flights-v2 .jp-burger{order:5;display:flex}.flights-v2 .jp-nav nav{display:none}.flights-v2 .fx-hero{padding-top:112px;min-height:300px;padding-bottom:65px;background-position:65% center}.flights-v2 .fx-hero:before{background:#f5f8fbdf}.flights-v2 .fx-hero h1{font-size:38px}.flights-v2 .fx-hero p{font-size:16px;max-width:320px}.flights-v2 .fx-hero small{font-size:12px}.flights-v2 .fl-body{margin-top:-35px;padding-bottom:35px}.flights-v2 .asb__panel{grid-template-columns:1fr 1fr;padding:8px}.flights-v2 .asb__pair{grid-column:1/-1;border-bottom:1px solid var(--fx-line)}.flights-v2 .asb__cell{padding:12px;min-height:68px}.flights-v2 .asb__cell input{font-size:16px}.flights-v2 .asb__go{font-size:15px;min-height:47px}.flights-v2 .asb__swap{top:20px}.flights-v2 .fx-search-hint{font-size:12px;line-height:1.5}.flights-v2 .fx-shortcuts{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;margin-bottom:25px}.flights-v2 .fx-shortcuts>*{flex-shrink:0}.flights-v2 .fx-shortcuts>span{display:none}.flights-v2 .fx-featured-grid{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding-bottom:10px}.flights-v2 .fx-featured .elm-card{flex:0 0 86%;scroll-snap-align:start}.flights-v2 .fx-featured .elm-card__cta{grid-template-columns:1fr auto}.flights-v2 .fx-featured .elm-book{grid-column:2;grid-row:1/3}.flights-v2 .fx-section-head{gap:12px;align-items:flex-start}.flights-v2 .fx-section-head h2,.flights-v2 h2.fx-results-title{font-size:23px}.flights-v2 .fx-section-head p{font-size:14px;line-height:1.5}.flights-v2 .fx-section-head>a{font-size:12px;margin-top:5px}.flights-v2 .elm-card{grid-template-columns:1fr;min-height:0}.flights-v2 .elm-card__media{height:180px;min-height:180px}.flights-v2 .elm-card__body{padding:18px 18px 0}.flights-v2 .elm-card__cta{padding:14px 18px 18px;display:grid;grid-template-columns:1fr auto}.flights-v2 .elm-card__cta small{grid-column:1}.flights-v2 .elm-book{grid-column:2;grid-row:1/3;margin:0}.flights-v2 .elm-card__route b{font-size:22px}.flights-v2 .elm-head{gap:10px}.flights-v2 .elm-head>b{flex:1 1 100%}.flights-v2 .fx-results-note{flex:1 1 100%;order:-1}.flights-v2 .elm-filterbtn{margin-left:0}.flights-v2 .elm-sort{margin-left:auto}.flights-v2 .elm-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.flights-v2 .elm-chips button{white-space:nowrap}.flights-v2 .fx-destination-grid{grid-template-columns:repeat(2,1fr);gap:12px}.flights-v2 .fx-destination img{height:125px}.flights-v2 .fx-destination>span{padding:12px}.flights-v2 .fx-explain{padding:20px;align-items:flex-start}.flights-v2 .fx-alert{flex-direction:column;align-items:stretch;padding:23px}.flights-v2 .fx-alert h2{font-size:19px}.flights-v2 .fx-alert a{text-align:center}.flights-v2 .paxp__panel{position:fixed;left:12px!important;right:12px!important;bottom:12px;top:auto;width:auto;max-height:80dvh;overflow-y:auto}.flights-v2 .paxp__cols{grid-template-columns:1fr 1fr}.flights-v2 .paxp__row{gap:5px}.flights-v2 .paxp__step{gap:5px}.flights-v2 .paxp__step button{width:29px;height:29px}.flights-v2 .paxp__row b{font-size:13px}.flights-v2 .paxp__row small{font-size:10px}.flights-v2 .jp-footer>.jp-wrap{grid-template-columns:1fr 1fr}.flights-v2 .jp-footer>.jp-wrap>div:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.flights-v2 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.flights-v2 .jp-nav nav a,.flights-v2 .jp-nav .jp-lang,.flights-v2 .jp-nav .jp-lang a{color:#f3f7fa!important}
.flights-v2 .fl-body{padding-top:0!important;overflow:visible!important}
.flights-v2 .elf:not(.is-open){visibility:hidden}
.flights-v2 .elf.is-open{visibility:visible}
@media(max-width:600px){
.flights-v2 .paxp__panel{background:#fff!important;max-height:78vh!important;overflow-y:auto!important;overflow-x:hidden!important}
.flights-v2 .paxp__cols{display:grid!important;grid-template-columns:1fr!important;gap:16px!important}
.flights-v2 .paxp__col{min-width:0!important;border:0!important;padding:0!important}
.flights-v2 .paxp__row{grid-template-columns:minmax(0,1fr) auto!important}
.flights-v2 .aiauth-link{white-space:nowrap!important}
}
/* Match /calendar: clear header surface, without blur, border or shadow. */
.flights-v2 .jp-nav,.flights-v2 .jp-nav.is-solid{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}
.flights-v2 .jp-nav nav a,.flights-v2 .jp-nav .jp-lang,.flights-v2 .jp-nav .jp-lang a,.flights-v2 .jp-nav .aiauth-link,.flights-v2 .jp-nav .aiauth-pill,.flights-v2 .jp-nav .jp-mark,.flights-v2 .jp-nav .jp-mark__w{color:#0F1E33!important}
.flights-v2 .jp-nav .jp-ghost{color:#0F1E33}
.flights-v2 .fx-hero{background:#edf3f8}
.flights-v2 .fx-hero__slides{position:absolute;inset:0;overflow:hidden}
.flights-v2 .fx-hero__slides img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 52%;opacity:0;transition:opacity 1.2s ease}
.flights-v2 .fx-hero__slides img.is-active{opacity:1}
.flights-v2 .fx-hero:before{z-index:1;pointer-events:none}
.flights-v2 .fx-hero>.jp-wrap{z-index:2}
.flights-v2 .fx-hero__controls{position:absolute;right:32px;bottom:50px;z-index:3;display:flex;gap:8px}
.flights-v2 .fx-hero__controls button{border:1px solid #0F1E3330;border-radius:24px;background:#ffffffdf;color:#0F1E33;min-width:38px;min-height:38px;padding:6px 12px;cursor:pointer}
.flights-v2 .fx-hero__controls button[aria-pressed="true"]{background:#0F1E33;color:#fff}
@media(prefers-reduced-motion:reduce){.flights-v2 .fx-hero__slides img{transition:none}}
@media(max-width:600px){.flights-v2 .fx-hero{padding-bottom:110px}.flights-v2 .fx-hero__controls{right:24px;bottom:50px}}
/* Quiet slide indicators: generous hit areas, delicate visible marks. */
.flights-v2 .fx-hero__controls{gap:4px;align-items:center}
/* The marks sit over the darkest corner of the photograph; a faint light plate keeps them findable without shouting. */
.flights-v2 .fx-hero__controls{background:rgba(255,255,255,.72);border-radius:20px;padding:2px 8px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.flights-v2 .fx-hero__controls button{display:grid;place-items:center;min-width:32px;min-height:32px;padding:8px 4px;border:0;border-radius:0;background:transparent!important;color:#0F1E33!important}
.flights-v2 .fx-hero__controls [data-hero-slide] span{display:block;width:18px;height:3px;border-radius:3px;background:#0F1E3335;transition:width .6s ease,background .6s ease}
.flights-v2 .fx-hero__controls [aria-pressed="true"] span{width:30px;background:#0F1E33}
.flights-v2 .fx-hero__controls [data-hero-pause]{opacity:.45}
.flights-v2 .fx-hero__controls [data-hero-pause]:hover,.flights-v2 .fx-hero__controls [data-hero-pause]:focus-visible{opacity:1}
.flights-v2 .fx-hero__controls svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.flights-v2 .fx-hero__slides img{transition:opacity 2s ease-in-out}
@media(prefers-reduced-motion:reduce){.flights-v2 .fx-hero__slides img,.flights-v2 .fx-hero__controls [data-hero-slide] span{transition:none}}
/* Explicit footer contrast, independent of shared light-page text tokens. */
.flights-v2 .jp-footer{--t-dark:#F5F4F0;--t-dark-mut:#BFC9D6;color:#F5F4F0}
.flights-v2 .jp-footer p,.flights-v2 .jp-footer__bottom{color:#BFC9D6}
.flights-v2 .jp-footer .jp-mark,.flights-v2 .jp-footer .jp-mark__w{color:#F5F4F0}
.flights-v2 .jp-footer h4{color:#C8A96A}
.flights-v2 .jp-footer__bottom a{color:#DCE3EB!important}
.flights-v2 .jp-footer a:hover{color:#C8A96A!important}
.flights-v2 .jp-footer p:not(.jp-mark){color:#BFC9D6!important}
/* The route-alert band carries the board's own inline watch form (a button that
   becomes an e-mail field), so it needs the same styling the link had and light
   type once the form has replaced it. */
.flights-v2 .fx-alert>button{padding:14px 20px;background:white;border:0;border-radius:6px;color:#0F1E33;font:600 14px var(--sans);white-space:nowrap;cursor:pointer}
.flights-v2 .fx-alert .elm-watch{color:#fff;min-width:min(420px,100%)}
.flights-v2 .fx-alert .elm-watch__l,.flights-v2 .fx-alert .elm-watch__msg{color:#cbd7e1}
.flights-v2 .fx-alert .elm-watch__msg--ok{color:#fff}
/* The bar is rendered by the board and moved into the hero mount — one search
   on the page, as the tests insist. It hangs over the hero's bottom edge, so
   the body below leaves room for the half that crosses the line, and the
   slide marks move up out of its way. */
.flights-v2 .fx-hero{padding-bottom:40px}
.flights-v2 .fl-search{max-width:none;margin:34px 0 -74px;position:relative;z-index:30}
.flights-v2 .fl-search:empty{display:none}
.flights-v2 .fl-search .asb{background:transparent;padding:0}
.flights-v2 .fl-body{margin-top:0;padding-top:96px!important}
.flights-v2 .fx-hero__controls{top:104px;bottom:auto}
@media(max-width:760px){.flights-v2 .fx-hero{padding-bottom:36px}.flights-v2 .fl-search{margin:26px 0 -60px}.flights-v2 .fl-body{margin-top:0;padding-top:80px!important}.flights-v2 .fx-hero__controls{top:86px;right:16px}}
@media(max-width:600px){.flights-v2 .fx-hero{padding-bottom:36px}}
/* The explainer and the trust band below the board were coloured for the dark
   page; on this light one they need the page's own ink. */
.flights-v2 .fl-explain{max-width:72ch;margin:6px 0 10px}
/* The measure belongs on the text, not on the box around it. .fl-explain is
   17px and its paragraphs are 14.7px, so 72ch resolved against the container
   bought 836px — 101 characters of body text, against a 60-75 standard.

   And ch is not a character. Measured in the browser against a real sentence,
   Satoshi's average character is 6.63px where one ch is 10.05px, so one ch buys
   1.52 characters. That ratio held to two decimals across all three elements
   here at three different sizes, because it is a property of the typeface and
   not of any one rule: 45ch is 68 characters in any of them. Hence one number
   rather than three hand-tuned ones. */
.flights-v2 .fl-explain p{max-width:45ch}
.flights-v2 .fl-explain p{color:#1B3050}
.flights-v2 .fl-explain__note{color:#607185!important}
body.jetp.flights-v2 .fl-trust{border-top:1px solid #dde5ed;margin-top:34px}
.flights-v2 .fl-trust__list b{color:#0F1E33}
.flights-v2 .fl-trust__list span,.flights-v2 .fl-trust__entity{color:#607185}
.flights-v2 .fl-trust__entity a{color:#1B3050}
/* The header sits over the top of the photograph. The second slide is dark
   there and the header's navy type vanished on it; a light veil across the
   top band keeps the menu legible on either picture. */
.flights-v2 .fx-hero:after{content:'';position:absolute;left:0;right:0;top:0;height:150px;background:linear-gradient(#f5f8fbd9,#f5f8fb00);z-index:1;pointer-events:none}
/* board.css gives the media a 16:10 aspect ratio; with the 190px minimum
   height that is 304px of width in a 210px column, and the photograph rode
   over the card's text. The grid already fixes the width, so the ratio goes. */
.flights-v2 .elm-card__media{aspect-ratio:auto}
/* On the 210px list card the type tag wraps to two lines and the credit sat
   on top of it; the credit moves to the top corner and the tag keeps the
   bottom. The featured cards are wide enough for both along the bottom. */
.flights-v2 .elm-results .elm-card__citycredit{top:8px;bottom:auto;max-width:60%}
.flights-v2 .elm-card__citytag{max-width:calc(100% - 20px);line-height:1.35}
/* Popular destinations, from the board: eight cities, the busiest first. The
   card's picture is the leg's own city-photo chain, so the plate stands in
   when nothing has been found yet, and a quiet card is a city with no leg. */
.flights-v2 .fx-destination-grid{grid-template-columns:repeat(4,1fr)}
.flights-v2 .fx-destination__media{display:block;position:relative;height:175px;min-height:175px;overflow:hidden;background:#e6edf3;aspect-ratio:auto}
.flights-v2 .fx-destination__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.flights-v2 .fx-destination__media .elm-plate{position:absolute;inset:0}
.flights-v2 .fx-destination>span:last-child{display:grid;gap:4px;padding:14px 16px 16px}
.flights-v2 .fx-destination small{font-size:13px;color:#1B3050}
.flights-v2 .fx-destination__go{color:#607185;font-size:12px}
.flights-v2 .fx-destination--quiet b{color:#607185}
.flights-v2 #destinations,.flights-v2 #how{scroll-margin-top:96px}
@media(max-width:1100px){.flights-v2 .fx-destination-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.flights-v2 .fx-destination-grid{grid-template-columns:repeat(2,1fr)}.flights-v2 .fx-destination__media{height:125px;min-height:125px}}
/* an indicative price reads as one: lighter, with its label under it */
.flights-v2 .elm-card__price--est{color:#1B3050;font-weight:600}
.flights-v2 .elm-card__esttag{font-size:11px;color:#607185;letter-spacing:.02em}
.flights-v2 .elm-bar__est{display:block;font-size:11px;color:#607185}

/* A phone: the featured cards used to be a sideways strip, 86% wide with the
   next one peeking in, and on a real phone that read as cards cut off at the
   edge rather than as a carousel. They stack now, one under the other, the
   way the results below them already do. The slide controls sat on the
   eyebrow at the top of the hero; the slides still turn on their own. */
@media(max-width:760px){
  .flights-v2 .fx-featured-grid{display:grid;grid-template-columns:1fr;gap:14px;overflow:visible;scroll-snap-type:none;padding-bottom:0}
  .flights-v2 .fx-featured .elm-card{flex:none;width:auto;scroll-snap-align:none}
  .flights-v2 .fx-hero__controls{display:none}
  .flights-v2 .fx-hero h1{font-size:34px}
}

/* touch-type:start — generated by tools/touch-type.mjs, do not edit by hand */
/* iOS zooms the page when a focused control's text is under 16px and does not
   zoom back. max(16px, 1em) raises only what is below the floor: a control
   designed larger keeps its size, and nothing has to be listed by name — which
   matters, because the worst offenders inherit their size rather than being
   given one. Checkboxes and radios are left alone; they have no text. */
@media (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea { font-size: max(16px, 1em) !important; }
}
/* touch-type:end */
