.page-main,.auth-main{max-width:1180px;margin:auto;padding:48px 22px}
.service-page{max-width:1240px}
.service-hero{border-radius:22px;padding:55px;background:linear-gradient(135deg,#09244b,#173f70 72%,#c90016);color:#fff;text-align:center;position:relative;overflow:hidden}
.service-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.15),transparent 34%);pointer-events:none}
.service-icon{font-size:42px;position:relative;z-index:1}.service-hero h1{font-size:42px;margin:12px 0;position:relative;z-index:1}.service-hero p{position:relative;z-index:1}
.service-search{margin:-22px auto 38px;background:#fff;border-radius:18px;padding:28px;box-shadow:0 12px 40px rgba(9,36,75,.15);max-width:1080px;position:relative;z-index:2}
.service-search>.service-generic-search{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 112px;gap:0}
.auth-card label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.auth-card input{height:46px;border:1px solid #d7deea;border-radius:8px;padding:0 12px;outline:0}
.auth-card input:focus{border-color:#09244b}
.auth-card button{border:0;border-radius:8px;background:#c90016;color:#fff;font-weight:800;padding:14px 20px}
.auth-card button:hover{background:#a80012}
.service-flight-search{padding:24px;max-width:1120px}
.service-flight-search.multi-city-active{max-width:1160px}
.service-generic-search{margin-top:0!important}
.native-service-note{text-align:center;color:#667085;font-size:11px;margin:15px 0 0}
.service-page .contextual-featured{padding:0;margin-bottom:40px}

.auth-body{background:#f5f7fb}.auth-main{min-height:75vh;display:grid;place-items:center}.auth-card{width:min(440px,100%);background:#fff;border-top:5px solid #c90016;border-radius:18px;padding:34px;box-shadow:0 18px 55px rgba(9,36,75,.13);display:grid;gap:18px}.auth-card h1{margin:0;color:#09244b}.auth-card p{color:#667085}.auth-links{display:flex;justify-content:space-between}.auth-links a{color:#09244b;font-weight:700}.form-error{background:#fff1f3;color:#a10014;padding:10px;border-radius:8px}.simple-footer{text-align:center;padding:36px;color:#667085}.message-page{min-height:70vh;display:grid;place-content:center;text-align:center;padding:25px}.message-page h1{color:#09244b}.message-page a{display:inline-block;background:#c90016;color:#fff;padding:12px 18px;border-radius:8px}

.multi-results-body{background:#f5f7fb}
.multi-results-main{max-width:1080px;margin:auto;padding:38px 20px 70px}
.multi-results-hero{background:linear-gradient(135deg,#09244b,#173f70 72%,#c90016);color:#fff;border-radius:20px;padding:42px;box-shadow:0 20px 48px rgba(9,36,75,.17)}
.multi-results-hero>span{text-transform:uppercase;letter-spacing:1.3px;font-size:10px;font-weight:900;color:#ffd7dc}.multi-results-hero h1{font-size:36px;margin:8px 0}.multi-results-hero p{max-width:720px;margin:0;opacity:.88;line-height:1.55}
.multi-summary-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}.multi-summary-chips b{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 11px;font-size:10px;text-transform:capitalize}
.multi-results-list{display:grid;gap:13px;margin-top:24px}
.multi-result-card{display:grid;grid-template-columns:72px minmax(0,1fr) 210px;align-items:stretch;background:#fff;border:1px solid #dfe5ee;border-radius:13px;overflow:hidden;box-shadow:0 7px 22px rgba(9,36,75,.07)}
.multi-leg-index{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#09244b;color:#fff}.multi-leg-index span{font-size:9px;text-transform:uppercase;opacity:.75}.multi-leg-index strong{font-size:25px}
.multi-route-copy{padding:20px 22px}.multi-route-copy>small{color:#667085}.multi-route-copy h2{margin:5px 0 8px;color:#09244b;font-size:24px}.multi-route-copy h2 span{color:#c90016}.multi-live-status{display:flex;align-items:center;gap:8px;margin:0;color:#667085;font-size:12px}.multi-live-status.is-ready{color:#157347;font-weight:800}.multi-live-status.is-empty{color:#8a5a00}.multi-live-status.is-error{color:#a10014}
.status-spinner{width:14px;height:14px;border:2px solid #dbe2ec;border-top-color:#c90016;border-radius:50%;animation:spin .75s linear infinite}.is-ready .status-spinner,.is-empty .status-spinner,.is-error .status-spinner{display:none}@keyframes spin{to{transform:rotate(360deg)}}
.multi-airlines{font-size:10px;color:#667085;margin-top:6px}.multi-result-action{padding:18px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;border-left:1px solid #edf0f5}.multi-price{text-align:right;margin-bottom:9px}.multi-price small{display:block;color:#667085;font-size:9px}.multi-price strong{color:#09244b;font-size:19px}.multi-result-action>a{background:#c90016;color:#fff;padding:11px 14px;border-radius:7px;font-weight:900;font-size:11px}.multi-result-action>a:hover{background:#a80012}
.multi-results-note{margin-top:22px;background:#fff;border-left:4px solid #c90016;border-radius:10px;padding:20px;box-shadow:0 5px 18px rgba(9,36,75,.06)}.multi-results-note strong{color:#09244b}.multi-results-note p{color:#667085}.multi-results-note a{color:#c90016;font-weight:900}

@media(max-width:800px){.service-search>.service-generic-search{grid-template-columns:1fr}.service-hero{padding:36px 20px}.service-hero h1{font-size:32px}.topbar nav a:not(.signin):not(.current){display:none}.multi-result-card{grid-template-columns:58px 1fr}.multi-result-action{grid-column:2;border-left:0;border-top:1px solid #edf0f5;align-items:flex-start;flex-direction:row;justify-content:space-between}.multi-price{text-align:left;margin:0}.multi-results-hero{padding:32px 24px}.multi-results-hero h1{font-size:29px}}
@media(max-width:520px){.multi-result-card{display:block}.multi-leg-index{height:40px;flex-direction:row;gap:7px}.multi-result-action{display:flex}.multi-route-copy h2{font-size:21px}}

/* Native flight results — data is supplied by the existing AI Travels backend. */
.flight-results-body{background:#eef2f7;color:#10213b}
.results-topbar{position:relative;height:64px;box-shadow:0 1px 0 rgba(9,36,75,.08)}
.results-topbar .brand{width:178px;height:50px}
.results-nav{gap:15px!important}
.results-search-wrap{background:linear-gradient(135deg,#09244b,#123b70 72%,#8e0010);padding:18px 24px 26px;position:sticky;top:0;z-index:42;box-shadow:0 12px 30px rgba(9,36,75,.16)}
.results-search-inner{max-width:1220px;margin:auto;background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 10px 28px rgba(9,36,75,.18)}
.results-search-inner .flight-options{padding:0 2px 10px}
.results-search-inner .flight-search-grid{min-height:62px}
.results-search-inner .multi-city-builder{margin-top:0}
.flight-results-main{max-width:1220px;margin:0 auto;padding:18px 20px 68px;display:grid;grid-template-columns:238px minmax(0,1fr);gap:16px;align-items:start}
.flight-filter-panel{background:#fff;border:1px solid #dce3ed;border-radius:10px;overflow:hidden;position:sticky;top:174px;max-height:calc(100vh - 190px);overflow-y:auto;box-shadow:0 5px 16px rgba(9,36,75,.05)}
.filter-mobile-head{display:none}
.filter-block{padding:17px 18px;border-bottom:1px solid #e6ebf2}
.filter-block>strong,.filter-title strong{display:block;color:#09244b;font-size:13px;margin-bottom:11px}
.filter-title{display:flex;justify-content:space-between;align-items:center}.filter-title strong{margin:0}.filter-title button{border:0;background:none;color:#c90016;font-size:11px;font-weight:800}
.filter-block label,.airline-filters label{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 0;color:#344054;font-size:12px;cursor:pointer}
.filter-block input{accent-color:#c90016}.filter-block small{color:#98a2b3;font-size:10px}.filter-loading{color:#98a2b3;font-size:11px}
.apply-flight-filters{display:none}
.flight-results-content{min-width:0}
.results-heading{background:#fff;border-radius:10px 10px 0 0;border:1px solid #dce3ed;border-bottom:0;padding:18px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;overflow:hidden}
.results-heading:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#c90016}
.results-heading span{color:#c90016;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.results-heading h1{font-size:23px;margin:3px 0 4px;color:#09244b}.results-heading h1 b{color:#c90016}.results-heading p{margin:0;color:#667085;font-size:11px;text-transform:capitalize}
.secure-search-note{text-align:right}.secure-search-note strong{display:block;color:#09244b;font-size:12px}.secure-search-note small{display:block;color:#667085;font-size:10px;margin-top:3px}
.result-sortbar{background:#fff;border:1px solid #dce3ed;border-radius:0 0 10px 10px;padding:0 18px 0 20px;display:flex;justify-content:space-between;align-items:stretch;margin-bottom:12px;min-height:64px}
.result-sortbar>div{display:flex;flex-direction:column;justify-content:center}.result-sortbar strong{font-size:13px;color:#09244b}.result-sortbar small{color:#98a2b3;font-size:9px;margin-top:3px}
.result-sortbar nav{display:flex;align-items:stretch}.result-sortbar button{border:0;border-bottom:3px solid transparent;background:#fff;padding:0 17px;color:#667085;font-size:11px;font-weight:800}.result-sortbar button.active{color:#09244b;border-color:#c90016}
.flight-results-list{display:grid;gap:9px}
.flight-result-card{background:#fff;border:1px solid #dce3ed;border-radius:9px;box-shadow:0 3px 12px rgba(9,36,75,.045);overflow:hidden;position:relative;transition:box-shadow .18s,border-color .18s}
.flight-result-card:hover{border-color:#b8c5d7;box-shadow:0 10px 24px rgba(9,36,75,.09)}
.recommended-badge{position:absolute;left:0;top:0;background:#eef8f1;color:#16794a;font-size:9px;font-weight:900;padding:4px 8px;border-radius:0 0 6px 0}
.result-card-main{display:grid;grid-template-columns:minmax(0,1fr) 158px;min-height:136px}
.result-route-stack{padding:25px 18px 14px;display:grid;gap:10px}
.result-route-row{display:grid;grid-template-columns:58px 150px 70px minmax(150px,1fr) 70px;align-items:center;gap:10px;min-width:0}
.route-label span{display:block;font-size:9px;color:#c90016;font-weight:900;text-transform:uppercase}.route-label small{display:block;font-size:9px;color:#98a2b3;margin-top:3px}
.airline-cell{display:flex;align-items:center;gap:9px;min-width:0}.airline-cell img,.airline-monogram{width:34px;height:34px;flex:0 0 34px;border-radius:50%;object-fit:contain;background:#f2f5f9}.airline-monogram{display:grid;place-items:center;color:#09244b;font-size:10px;font-weight:900;border:1px solid #dce3ed}.airline-cell div{min-width:0}.airline-cell strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#09244b;font-size:12px}.airline-cell small{display:block;color:#98a2b3;font-size:9px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.time-cell strong{display:block;font-size:18px;color:#10213b;line-height:1}.time-cell small{display:block;color:#667085;font-size:10px;font-weight:800;margin-top:5px}.route-line{text-align:center;min-width:0}.route-line span{display:block;color:#667085;font-size:9px}.route-line i{height:1px;background:#b7c3d3;display:block;position:relative;margin:7px 5px}.route-line i:before,.route-line i:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border:1px solid #8fa0b7;border-radius:50%;background:#fff}.route-line i:before{left:-2px}.route-line i:after{right:-2px}.route-line small{display:block;color:#c90016;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.result-price-cell{border-left:1px solid #e9edf3;padding:18px 15px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right}.result-price-cell>small{color:#98a2b3;font-size:9px}.result-price-cell>strong{font-size:21px;color:#c90016;margin-top:2px}.result-price-cell>span{font-size:9px;color:#98a2b3;margin:2px 0 10px}.result-price-cell form{width:100%}.result-price-cell button{width:100%;border:0;border-radius:6px;background:#c90016;color:#fff;font-weight:900;padding:11px 12px}.result-price-cell button:hover{background:#a80012}
.result-card-footer{border-top:1px solid #edf0f5;min-height:38px;padding:6px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px}.result-tags{display:flex;gap:6px;flex-wrap:wrap}.result-tags span{font-size:9px;color:#536174;background:#f4f6f9;border-radius:999px;padding:4px 7px}.details-toggle{border:0;background:none;color:#09244b;font-size:10px;font-weight:800;white-space:nowrap}.details-toggle span{color:#c90016}
.result-details{border-top:1px solid #e8edf3;padding:18px;background:#fafbfd;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.result-details h4{margin:0 0 10px;color:#09244b;font-size:12px}.segment-detail{display:grid;grid-template-columns:26px 1fr;gap:9px;margin:8px 0}.segment-number{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#09244b;color:#fff;font-size:9px;font-weight:900}.segment-detail strong{display:block;font-size:11px}.segment-detail small{display:block;color:#667085;font-size:9px;margin-top:3px}
.flight-results-skeleton{display:grid;gap:9px}.flight-results-skeleton article{height:150px;background:#fff;border:1px solid #dce3ed;border-radius:9px;padding:24px;display:grid;grid-template-columns:48px 1fr 140px;gap:20px;align-items:center;overflow:hidden;position:relative}.flight-results-skeleton article:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:result-shimmer 1.25s infinite}.flight-results-skeleton i,.flight-results-skeleton span,.flight-results-skeleton b{display:block;background:#e8edf3;border-radius:6px}.flight-results-skeleton i{width:42px;height:42px;border-radius:50%}.flight-results-skeleton span{height:15px;margin:9px 0}.flight-results-skeleton span:nth-child(2){width:80%}.flight-results-skeleton span:nth-child(3){width:55%}.flight-results-skeleton b{height:40px}@keyframes result-shimmer{to{transform:translateX(100%)}}
.flight-state{background:#fff;border:1px solid #dce3ed;border-radius:10px;padding:48px;text-align:center}.flight-state strong{display:block;color:#09244b;font-size:19px}.flight-state p{color:#667085}.flight-state button,.show-more-flights{border:0;border-radius:7px;background:#c90016;color:#fff;font-weight:900;padding:11px 18px}.show-more-flights{display:block;margin:18px auto 0}.results-seo-copy{background:#fff;border:1px solid #dce3ed;border-radius:10px;padding:22px;margin-top:18px}.results-seo-copy h2{margin:0 0 8px;color:#09244b;font-size:18px}.results-seo-copy p{color:#667085;font-size:11px;line-height:1.6}.results-seo-copy div{display:flex;gap:18px;flex-wrap:wrap;color:#16794a;font-size:10px;font-weight:800}.results-footer{background:#fff;border-top:1px solid #dce3ed}
.mobile-filter-button{display:none}.filter-mobile-head{padding:14px 18px;border-bottom:1px solid #e6ebf2;align-items:center;justify-content:space-between}.filter-mobile-head button{border:0;background:none;font-size:24px;color:#09244b}

@media(max-width:1100px){.results-nav>a:not(.current):not(.signin),.results-nav .currency-control{display:none}.flight-results-main{grid-template-columns:210px minmax(0,1fr)}.result-route-row{grid-template-columns:50px 125px 62px minmax(120px,1fr) 62px}.time-cell strong{font-size:16px}}
@media(max-width:860px){.results-search-wrap{position:relative;padding:12px}.results-search-inner{padding:10px}.flight-results-main{display:block;padding:12px}.mobile-filter-button{display:block;border:1px solid #cbd5e1;background:#fff;color:#09244b;border-radius:7px;padding:9px 12px;font-weight:800;margin:0 0 10px}.flight-filter-panel{position:fixed;inset:0 auto 0 0;width:min(340px,90vw);max-height:none;border-radius:0;z-index:100;transform:translateX(-105%);transition:transform .2s}.flight-filter-panel.mobile-open{transform:translateX(0);box-shadow:20px 0 50px rgba(9,36,75,.25)}.filter-mobile-head{display:flex}.apply-flight-filters{display:block;position:sticky;bottom:0;width:calc(100% - 28px);margin:14px;border:0;border-radius:7px;background:#c90016;color:#fff;padding:12px;font-weight:900}.result-card-main{grid-template-columns:1fr 140px}.result-route-row{grid-template-columns:44px 115px 58px minmax(100px,1fr) 58px;gap:7px}.route-label{display:none}.result-route-row{grid-template-columns:115px 58px minmax(100px,1fr) 58px}.results-heading{border-radius:10px 10px 0 0}.result-sortbar{overflow:auto}.result-sortbar>div{min-width:190px}.result-sortbar button{padding:0 12px}}
@media(max-width:620px){.results-topbar{height:58px}.results-topbar .brand{width:145px}.results-search-inner .flight-options{align-items:flex-start}.flight-results-main{padding:8px}.results-heading{padding:15px}.secure-search-note{display:none}.results-heading h1{font-size:20px}.result-sortbar{display:block;padding:10px}.result-sortbar>div{min-width:0;margin-bottom:8px}.result-sortbar nav{height:42px}.result-sortbar button{flex:1}.result-card-main{display:block}.result-route-stack{padding:20px 13px 10px}.result-route-row{grid-template-columns:1fr 54px 80px 54px;gap:5px}.airline-cell{grid-column:1/-1;margin-bottom:4px}.route-line small{white-space:normal}.result-price-cell{border-left:0;border-top:1px solid #e9edf3;align-items:center;text-align:center;padding:12px}.result-price-cell form{max-width:220px}.result-card-footer{align-items:flex-start}.result-details{grid-template-columns:1fr}.flight-results-skeleton article{grid-template-columns:40px 1fr;height:170px}.flight-results-skeleton b{grid-column:1/-1}.results-search-wrap .flight-search-grid{display:block}.results-search-wrap .airport-pair{grid-template-columns:1fr 34px 1fr}.results-search-wrap .flight-search-grid>label{min-height:54px}.results-search-wrap .search-btn{height:48px}.results-search-wrap .multi-city-leg{display:grid}}

/* v2.1.4 production-hardening UI */
.result-price-cell .quote-expiry{display:block;margin-top:3px;color:#64748b;font-size:11px;line-height:1.25}
.quote-select-form button:disabled{cursor:wait;opacity:.72}
.quote-change-body{min-height:100vh;background:#f4f7fb}
.quote-change-main{min-height:calc(100vh - 78px);display:grid;place-items:center;padding:40px 20px}
.quote-change-card{width:min(620px,100%);background:#fff;border:1px solid #dce4ef;border-radius:18px;box-shadow:0 20px 55px rgba(9,36,75,.12);padding:34px}
.quote-change-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#fff1f1;color:#b30012;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.quote-change-card h1{margin:14px 0 8px;color:#09244b;font-size:clamp(25px,4vw,36px);line-height:1.15}
.quote-change-card>p{color:#526076;line-height:1.6}
.quote-route-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:26px 0;padding:20px;border-radius:14px;background:#f7f9fc;border:1px solid #e2e8f0;text-align:center}
.quote-route-summary div{display:grid;gap:2px}.quote-route-summary strong{font-size:24px;color:#09244b}.quote-route-summary small{color:#64748b}.quote-route-summary>span{font-size:12px;color:#64748b;border-bottom:2px solid #b8c4d5;padding:0 18px 6px}
.quote-price-comparison{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:22px 0}
.quote-price-comparison div{display:grid;gap:5px;padding:17px;border-radius:13px;background:#f8fafc}.quote-price-comparison small{color:#64748b}.quote-price-comparison del{font-size:21px;color:#6b7280}.quote-price-comparison .new-price{background:#eef4ff;border:1px solid #ccd9f0}.quote-price-comparison strong{font-size:27px;color:#b30012}
.quote-expiry-note{font-size:13px;background:#fff8e7;border-left:4px solid #d89a00;padding:11px 13px;border-radius:8px}
.quote-change-card form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.quote-change-card form button{border:0;border-radius:9px;background:#b30012;color:#fff;font-weight:800;padding:14px 18px;cursor:pointer}.quote-change-card form a{color:#09244b;font-weight:700;text-decoration:none;padding:12px}
@media(max-width:600px){.quote-change-card{padding:24px 18px}.quote-route-summary,.quote-price-comparison{gap:9px}.quote-route-summary>span{padding-inline:4px}.quote-price-comparison{grid-template-columns:1fr}.quote-price-comparison>span{transform:rotate(90deg);justify-self:center}.quote-change-card form{display:grid}.quote-change-card form button,.quote-change-card form a{text-align:center;width:100%}}

/* v2.1.7 multi-city selection and cross-page readability */
.multi-results-body{background:#eef2f7;color:#152238}.multi-search-summary{background:linear-gradient(110deg,#092b4c,#123f6d);color:#fff;padding:22px 20px}.multi-search-summary-inner{width:min(1180px,100%);margin:auto}.multi-route-strip{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.multi-route-strip-item{min-width:165px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:10px;display:flex;gap:9px;align-items:center}.multi-route-strip-item>b{width:28px;height:28px;border-radius:7px;background:var(--red);display:grid;place-items:center}.multi-route-strip-item span{display:block}.multi-route-strip-item strong{font-size:15px}.multi-route-strip-item small{display:block;color:#dce9f7;font-size:12px;margin-top:2px}.multi-search-meta{display:flex;gap:16px;align-items:center;margin-top:13px;font-size:14px}.multi-search-meta a{margin-left:auto;background:#fff;color:var(--navy);padding:8px 12px;border-radius:7px;font-weight:800}
.multi-selection-main{width:min(1180px,calc(100% - 32px));margin:28px auto 50px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.multi-selection-heading>span{color:var(--red);font-weight:850;text-transform:uppercase;letter-spacing:.06em;font-size:13px}.multi-selection-heading h1{font-size:32px;color:var(--navy);margin:5px 0 8px}.multi-selection-heading p{font-size:16px;color:#59697d;max-width:790px}.multi-progress{list-style:none;padding:0;margin:22px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px}.multi-progress li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px;font-size:13px;font-weight:750;color:var(--navy)}.multi-progress b{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff}
.multi-leg-panel{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:20px;overflow:hidden;box-shadow:0 8px 24px rgba(9,43,76,.06);scroll-margin-top:95px}.multi-leg-panel-header{padding:18px 20px;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:#fbfcfe}.multi-leg-panel-header span{font-size:12px;color:var(--red);font-weight:850}.multi-leg-panel-header h2{font-size:23px;color:var(--navy);margin:2px 0}.multi-leg-panel-header h2 b{color:var(--red)}.multi-leg-panel-header p{margin:0;color:#66758a;font-size:13px}.multi-leg-sort{display:flex;align-items:end}.multi-leg-sort button{border:0;border-bottom:3px solid transparent;background:transparent;color:#5e6d80;padding:11px 13px;font-weight:750}.multi-leg-sort button.active{color:var(--navy);border-bottom-color:var(--red)}.multi-leg-status{padding:10px 20px;color:#66758a;font-size:13px;background:#fff}.multi-leg-results{padding:0 14px 14px}.multi-result-card{display:grid;grid-template-columns:minmax(150px,1.2fr) 75px minmax(110px,1fr) 75px 150px;align-items:center;gap:12px;border:1px solid #dde4ec;border-radius:10px;margin:9px 0;background:#fff;position:relative;transition:.16s}.multi-result-card:hover{border-color:#9fb0c4;box-shadow:0 8px 22px rgba(9,43,76,.09)}.multi-result-card.selected{border:2px solid var(--red);background:#fffafb}.multi-airline{display:flex;gap:10px;align-items:center;padding:15px}.multi-airline img,.multi-airline>span{width:40px;height:40px;object-fit:contain;border-radius:50%;background:#fff;border:1px solid var(--line)}.multi-airline>span{display:grid;place-items:center;font-weight:850;color:var(--navy)}.multi-airline strong{display:block;font-size:14px;color:var(--navy)}.multi-airline small{display:block;font-size:11px;color:#748196}.multi-time{text-align:center}.multi-time strong{display:block;font-size:18px;color:var(--ink)}.multi-time small{font-size:12px;color:#66758a;font-weight:750}.multi-route{text-align:center}.multi-route span,.multi-route small{font-size:11px;color:#66758a}.multi-route i{display:block;height:1px;background:#aebbc9;margin:7px 4px;position:relative}.multi-route i:before,.multi-route i:after{content:"";position:absolute;width:6px;height:6px;border:1px solid #91a1b4;background:#fff;border-radius:50%;top:-3px}.multi-route i:before{left:0}.multi-route i:after{right:0}.multi-fare{align-self:stretch;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:13px}.multi-fare strong{font-size:20px;color:var(--red)}.multi-fare small{font-size:11px;color:#738095}.multi-fare button{border:0;background:var(--red);color:#fff;border-radius:7px;padding:9px 16px;font-weight:850;margin-top:7px}.multi-result-card.selected .multi-fare button{background:var(--navy)}.multi-result-meta{grid-column:1/-1;border-top:1px solid #edf0f4;padding:7px 14px;display:flex;gap:12px;color:#5f6d80;font-size:11px}.multi-skeleton{height:105px;border-radius:10px;background:#f4f6f9;margin:9px 0;padding:20px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:18px;overflow:hidden}.multi-skeleton i{display:block;border-radius:7px;background:linear-gradient(90deg,#e6ebf1,#f8fafc,#e6ebf1);background-size:200% 100%;animation:multi-shimmer 1.1s infinite}@keyframes multi-shimmer{to{background-position:-200% 0}}.multi-leg-error{padding:35px;text-align:center;color:#5d6c80}.multi-leg-error strong{display:block;color:var(--navy);font-size:17px}.multi-leg-error button,.multi-show-more{border:1px solid var(--red);background:#fff;color:var(--red);border-radius:7px;padding:9px 14px;font-weight:800;margin-top:10px}.multi-show-more{display:block;margin:14px auto}
.multi-cart{position:sticky;top:94px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(9,43,76,.1);overflow:hidden}.multi-cart-head{padding:18px;border-bottom:1px solid var(--line)}.multi-cart-head span{display:block;font-size:12px;color:#68768a;text-transform:uppercase;font-weight:850}.multi-cart-head strong{font-size:18px;color:var(--navy)}.multi-cart-items{padding:8px 16px}.multi-cart-row{position:relative;padding:12px 52px 12px 0;border-bottom:1px solid #edf0f4}.multi-cart-row>span{display:block;color:var(--red);font-size:11px;font-weight:850}.multi-cart-row strong{display:block;color:var(--navy);font-size:14px}.multi-cart-row small{display:block;color:#66758a;font-size:12px;margin-top:3px}.multi-cart-row button{position:absolute;right:0;top:22px;border:0;background:none;color:var(--red);font-size:12px;font-weight:800}.multi-cart-row.pending{opacity:.7}.multi-ticket-notice{margin:8px 16px;padding:12px;background:#fff8e8;border-left:4px solid #d69b17;border-radius:7px}.multi-ticket-notice strong{font-size:13px;color:#5d4310}.multi-ticket-notice p{font-size:12px;color:#725d32;margin:4px 0 0}.multi-cart-total{padding:17px;border-top:1px solid var(--line)}.multi-cart-total span,.multi-cart-total small{display:block;color:#68768a;font-size:12px}.multi-cart-total strong{display:block;color:var(--red);font-size:27px}.multi-cart form{padding:0 16px 18px}.multi-cart form button{width:100%;border:0;border-radius:9px;background:var(--red);color:#fff;padding:14px;font-weight:850;font-size:15px}.multi-cart form button:disabled{background:#aeb7c4;cursor:not-allowed}
/* Increase previously undersized flight result typography. */
.flight-results-body,.results-page{font-size:16px}.flight-filter-panel label,.result-card-footer,.result-tags span,.route-line span,.route-line small,.result-price-cell>small,.result-price-cell>span,.airline-cell small,.time-cell small{font-size:12px}.airline-cell strong{font-size:14px}.results-seo-copy p{font-size:14px}.results-seo-copy div{font-size:13px}.details-toggle{font-size:13px}.segment-detail strong{font-size:14px}.segment-detail small{font-size:12px}
@media(max-width:920px){.multi-selection-main{grid-template-columns:1fr}.multi-cart{position:relative;top:auto;order:-1}.multi-selection-main{display:flex;flex-direction:column}.multi-cart{width:100%}.multi-result-card{grid-template-columns:minmax(130px,1fr) 65px minmax(90px,1fr) 65px 130px}}
@media(max-width:680px){.multi-search-summary{padding-inline:12px}.multi-selection-main{width:calc(100% - 16px);margin-top:14px}.multi-selection-heading h1{font-size:26px}.multi-leg-panel-header{display:block}.multi-leg-sort{overflow:auto;margin-top:10px}.multi-result-card{display:grid;grid-template-columns:1fr 60px minmax(90px,1fr) 60px}.multi-airline{grid-column:1/-1;padding-bottom:4px}.multi-fare{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);align-items:center}.multi-result-meta{font-size:10px}.multi-progress{grid-template-columns:1fr 1fr}}

/* v2.1.7 host extranet onboarding */
.host-page{background:#f3f6fa}
.host-hero{background:linear-gradient(125deg,#09244b 0%,#153f6f 68%,#7d0010 140%);padding:64px 24px 72px;color:#fff}
.host-hero-inner{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.8fr);gap:58px;align-items:center}
.host-hero-copy .eyebrow,.host-success-card .eyebrow{display:inline-block;color:#ffcad0;font-size:13px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.host-hero-copy h1{font-size:48px;line-height:1.08;letter-spacing:-.035em;margin:12px 0 18px;max-width:680px}
.host-hero-copy>p{font-size:18px;line-height:1.65;color:#e3ebf5;max-width:650px}
.host-benefits{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}
.host-benefits span{padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.08);font-size:13px;font-weight:750}
.host-login-link{color:#fff;text-decoration:underline;text-underline-offset:4px;font-weight:750}
.host-register-card{background:#fff;color:var(--ink);border-radius:18px;padding:28px;box-shadow:0 28px 70px rgba(0,0,0,.24)}
.host-form-heading span{color:var(--red);font-size:12px;font-weight:850;text-transform:uppercase}.host-form-heading h2{font-size:27px;color:var(--navy);margin:4px 0}.host-form-heading p{margin:0 0 20px;color:#65758a;font-size:14px}
.form-alert{padding:12px 14px;border:1px solid #efb5bc;background:#fff0f2;color:#890011;border-radius:9px;margin-bottom:15px;font-size:14px}
.host-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.host-form-grid label{display:grid;gap:6px}.host-form-grid label.wide{grid-column:1/-1}.host-form-grid span{font-size:13px;font-weight:750;color:#33465f}.host-form-grid input,.host-form-grid select{width:100%;height:48px;border:1px solid #ccd6e2;border-radius:9px;padding:0 12px;background:#fff;color:var(--ink);outline:0}.host-form-grid input:focus,.host-form-grid select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(9,36,75,.12)}.host-form-grid small{font-size:12px;color:#768497}.host-consent{display:flex;gap:9px;align-items:flex-start;margin:17px 0;font-size:13px;color:#526276}.host-consent input{margin-top:4px;accent-color:var(--red)}.host-submit{width:100%;height:52px;border:0;border-radius:9px;background:var(--red);color:#fff;font-size:16px;font-weight:850;box-shadow:0 10px 22px rgba(201,0,22,.2)}.host-submit:hover{background:var(--red-dark)}
.host-process{width:min(1180px,calc(100% - 40px));margin:-30px auto 60px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 36px rgba(9,36,75,.09);display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.host-process>div{padding:25px;border-right:1px solid var(--line)}.host-process>div:last-child{border-right:0}.host-process span{width:34px;height:34px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:850}.host-process h3{font-size:18px;color:var(--navy);margin:13px 0 6px}.host-process p{font-size:14px;color:#64748b;margin:0;line-height:1.55}
.host-success-wrap{min-height:68vh;display:grid;place-items:center;background:linear-gradient(145deg,#f8fbff,#edf2f8);padding:60px 20px}.host-success-card{width:min(680px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 25px 65px rgba(9,36,75,.13);padding:40px;text-align:center}.success-mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#eaf8f2;color:#08734e;font-size:30px;margin:0 auto 18px}.host-success-card h1{font-size:34px;color:var(--navy);margin:8px 0 14px}.host-success-card>p{font-size:17px;color:#5c6d82;line-height:1.6}.success-actions{display:flex;justify-content:center;gap:12px;margin:25px 0}.success-actions a{padding:12px 18px;border:1px solid var(--navy);border-radius:9px;font-weight:800;color:var(--navy)}.success-actions a.primary{background:var(--red);border-color:var(--red);color:#fff}.success-note{display:grid;gap:4px;text-align:left;background:#f4f7fb;border-left:4px solid var(--navy);padding:14px;border-radius:8px}.success-note strong{color:var(--navy)}.success-note span{color:#5d6d80;font-size:14px}
@media(max-width:900px){.host-hero-inner{grid-template-columns:1fr;gap:32px}.host-hero-copy h1{font-size:39px}.host-process{grid-template-columns:1fr 1fr}.host-process>div:nth-child(2){border-right:0}.host-process>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.host-hero{padding:42px 14px 58px}.host-hero-copy h1{font-size:33px}.host-hero-copy>p{font-size:16px}.host-register-card{padding:21px 16px}.host-form-grid{grid-template-columns:1fr}.host-form-grid label.wide{grid-column:auto}.host-process{grid-template-columns:1fr}.host-process>div{border-right:0;border-bottom:1px solid var(--line)}.host-process>div:last-child{border-bottom:0}.success-actions{display:grid}.host-success-card{padding:30px 20px}.host-success-card h1{font-size:28px}}

/* v2.1.8 compact fare typography and responsive result cards */
.result-price-cell>strong{font-size:18px!important;line-height:1.15!important;white-space:nowrap}
.result-price-cell>small,.result-price-cell>span{font-size:11px!important}
.multi-price strong{font-size:17px!important;line-height:1.15!important;white-space:nowrap}
.multi-price small{font-size:11px!important}
.result-price-cell button,.multi-result-action>a{font-size:13px!important}
.result-tags span{font-size:11px!important}
.flight-filter-panel,.flight-filter-panel label{font-size:13px!important}
.filter-block>strong,.filter-title strong{font-size:14px!important}
.airline-cell strong{font-size:14px!important}.airline-cell small,.time-cell small,.route-line small{font-size:12px!important}
@media(max-width:620px){.result-price-cell>strong{font-size:17px!important}.multi-price strong{font-size:16px!important}.result-card-main{overflow:hidden}.result-route-row{grid-template-columns:minmax(0,1fr) 45px 72px 45px!important}.result-price-cell{align-items:stretch!important}.result-price-cell form{max-width:none!important}}
