*{box-sizing:border-box}html{scroll-behavior:smooth}:root{--navy:#071c3a;--navy2:#0b2b58;--red:#c71920;--gold:#e5b64a;--ink:#13243a;--muted:#68778b;--line:#dce3eb;--soft:#f4f6f9;--white:#fff;--shadow:0 22px 55px rgba(7,28,58,.15)}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:var(--soft);line-height:1.45}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.container{width:min(1240px,calc(100% - 32px));margin:auto}.top-strip{background:#06162f;color:#dce6f2;font-size:12px}.top-strip-inner{height:34px;display:flex;align-items:center;justify-content:space-between}.top-strip-inner div{display:flex;gap:10px}.divider{opacity:.35}.premium-header{position:sticky;top:0;z-index:1200;background:white;box-shadow:0 3px 16px rgba(7,28,58,.08)}.header-main{min-height:92px;display:flex;align-items:center;gap:26px}.premium-brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-mark{display:grid;place-items:center;width:47px;height:47px;border-radius:12px;background:linear-gradient(145deg,var(--red),#8e0d13);color:white;font-weight:900;font-size:28px;box-shadow:0 8px 18px rgba(199,25,32,.22)}.premium-brand strong{display:block;color:var(--navy);font-size:24px;letter-spacing:2px;line-height:1}.premium-brand small{display:block;margin-top:4px;color:var(--red);font-size:9px;font-weight:900;letter-spacing:2px}.premium-header nav{display:flex;align-items:center;gap:10px}.nav-product{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:68px;padding:12px 10px;border-radius:10px;color:#3f5065;font-size:12px;font-weight:800}.nav-product span{font-size:21px}.nav-product:hover,.nav-product.active{background:#fff0f1;color:var(--red)}.header-login{padding:12px 16px;border:1px solid var(--navy);border-radius:8px;color:var(--navy);font-weight:800;font-size:13px}.menu-button{display:none;border:0;background:#eef2f7;border-radius:9px;width:44px;height:44px}.premium-hero{min-height:410px;padding:76px 0 150px;color:white;background:linear-gradient(90deg,rgba(4,18,42,.96),rgba(7,28,58,.74),rgba(7,28,58,.15)),radial-gradient(circle at 78% 35%,#2e6a91 0,#153a61 34%,#071c3a 74%)}.hero-copy{position:relative}.hero-kicker,.small-label{display:inline-block;color:var(--red);font-size:12px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}.premium-hero .hero-kicker{color:#ffd26a}.premium-hero h1{margin:13px 0 17px;max-width:720px;font-size:clamp(44px,6vw,78px);line-height:.98;letter-spacing:-2px}.premium-hero p{max-width:660px;margin:0;color:rgba(255,255,255,.82);font-size:18px}.premium-search-wrap{margin-top:-92px;padding-bottom:64px}.premium-search-card{position:relative;padding:28px 30px 24px;border-radius:16px;background:white;box-shadow:var(--shadow)}.search-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.search-card-head h2{margin:4px 0 0;color:var(--navy);font-size:28px}.premium-tabs{display:flex;gap:7px}.premium-tabs label input{display:none}.premium-tabs label span,.trip-tab-button{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:white;color:#536277;font-weight:800;cursor:pointer}.premium-tabs label input:checked+span{border-color:var(--red);background:#fff0f1;color:var(--red)}.trip-tab-button{opacity:.65}.booking-fields{display:grid;grid-template-columns:1.35fr 42px 1.35fr .92fr .92fr 1.1fr;align-items:stretch}.booking-box{min-width:0;padding:16px 16px 13px;border:1px solid var(--line);background:white}.booking-box:first-child{border-radius:10px 0 0 10px}.traveller-field{border-radius:0 10px 10px 0}.booking-box label{display:block;margin-bottom:5px;color:#7a8797;font-size:10px;font-weight:900;letter-spacing:1px}.booking-box input{width:100%;height:36px;padding:0;border:0;background:transparent;color:var(--navy);font-size:18px;font-weight:800;outline:none}.booking-box small{display:block;overflow:hidden;color:#8a96a5;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.premium-swap{position:relative;z-index:4;align-self:center;width:42px;height:42px;margin:0 -1px;border:1px solid var(--line);border-radius:50%;background:var(--navy);color:white;font-size:20px;cursor:pointer}.suggestions{position:absolute;z-index:150;display:none;top:calc(100% + 7px);left:0;right:0;max-height:310px;overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.suggestion{display:flex;justify-content:space-between;gap:10px;padding:13px;border-bottom:1px solid #edf1f5;cursor:pointer}.suggestion:hover{background:#fff5f5}.suggestion small{display:block;color:var(--muted)}.suggestion-code{color:var(--red);font-weight:900}.traveller-field{position:relative}.traveller-toggle{display:flex;width:100%;height:51px;padding:0;border:0;background:transparent;flex-direction:column;align-items:flex-start;justify-content:center;cursor:pointer}.traveller-toggle span{color:var(--navy);font-size:18px;font-weight:900}.traveller-panel{position:absolute;z-index:200;display:none;top:calc(100% + 10px);right:0;width:365px;padding:18px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:var(--shadow)}.traveller-panel.open{display:block}.traveller-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #edf1f5}.traveller-row strong{display:block}.traveller-row small{font-size:11px}.counter{display:flex;align-items:center;gap:12px}.counter button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--red);font-size:21px;cursor:pointer}.counter span{min-width:18px;text-align:center;font-weight:900}.cabin-title{margin:16px 0 9px;font-weight:900}.cabin-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:13px}.cabin-options label{display:flex;align-items:center;gap:7px;margin:0;color:var(--ink);letter-spacing:0}.apply-travellers{width:100%;height:42px;margin-top:16px;border:0;border-radius:8px;background:var(--red);color:white;font-weight:900;cursor:pointer}.hidden-control{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.search-footer{display:flex;align-items:center;gap:18px;margin-top:22px}.direct-flight-option{display:flex;align-items:center;gap:8px;color:#526176;font-size:13px;font-weight:700}.premium-actions{display:flex;gap:10px;margin-left:auto}.fare-calendar-button,.premium-search-button{height:50px;padding:0 20px;border-radius:8px;font-weight:900;cursor:pointer}.fare-calendar-button{border:1px solid var(--line);background:white;color:var(--navy)}.premium-search-button{min-width:210px;border:0;background:var(--red);color:white}.premium-search-button span{margin-left:16px}.message{display:none;flex:1;padding:10px 12px;border-radius:8px;background:#fff0f0;color:#a2161b;font-size:13px;font-weight:800}.loading{display:none;padding:42px;text-align:center}.loading span{display:block;width:44px;height:44px;margin:auto;border:5px solid #dfe6ed;border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results-section{display:none;margin-top:35px}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.results-header h2{margin:3px 0 0;color:var(--navy)}.results-header p{margin:5px 0;color:var(--muted)}.results-header select{height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:white}.flight-card{display:grid;grid-template-columns:210px 1fr 190px;gap:20px;align-items:center;margin-bottom:15px;padding:22px;border:1px solid #e5eaf0;border-radius:13px;background:white;box-shadow:0 8px 25px rgba(7,28,58,.07)}.airline-logo{max-width:145px;max-height:44px;object-fit:contain;object-position:left}.airline-name{font-weight:900}.muted{color:var(--muted)}.route{display:grid;grid-template-columns:1fr minmax(120px,1fr) 1fr;gap:14px;text-align:center;align-items:center}.time{font-size:23px;font-weight:900}.line{height:2px;background:#92a5ba;margin:10px 0;position:relative}.line:before,.line:after{content:"";position:absolute;top:50%;width:8px;height:8px;border-radius:50%;background:var(--red);transform:translateY(-50%)}.line:before{left:0}.line:after{right:0}.price{text-align:right}.price strong{display:block;color:var(--red);font-size:26px}.card-actions{display:grid;gap:8px;margin-top:10px}.card-actions button{min-height:40px;border-radius:8px;font-weight:900;cursor:pointer}.details-button{border:1px solid var(--navy);background:white;color:var(--navy)}.book-button{border:0;background:var(--red);color:white}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.chip{padding:5px 8px;border-radius:999px;background:#f0f3f7;color:#496078;font-size:11px;font-weight:800}.trust-strip{padding:24px 0;background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.trust-grid article{display:flex;align-items:center;gap:12px}.trust-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff0f1;color:var(--red);font-weight:900}.trust-grid strong,.trust-grid small{display:block}.trust-grid small{color:var(--muted)}.premium-services,.destination-section{padding:76px 0}.center-heading{text-align:center;margin-bottom:32px}.center-heading h2{margin:6px 0;color:var(--navy);font-size:34px}.service-grid,.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-grid article,.destination-grid article{padding:25px;border:1px solid #e4e9ef;border-radius:14px;background:white;box-shadow:0 8px 24px rgba(7,28,58,.05)}.service-icon{font-size:30px}.service-grid h3,.destination-grid h3{color:var(--navy)}.service-grid p,.destination-grid p{color:var(--muted)}.service-grid a{color:var(--red);font-weight:900}.destination-section{background:#eef2f7}.destination-code{display:inline-grid;place-items:center;min-width:57px;height:38px;padding:0 10px;border-radius:7px;background:var(--navy);color:white;font-weight:900;letter-spacing:1px}.premium-contact{padding:64px 0;background:linear-gradient(135deg,#071c3a,#0b2b58);color:white}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.small-label.light{color:#ffd26a}.premium-contact h2{margin:7px 0;font-size:34px}.premium-contact p{color:#c6d3e2}.contact-buttons{display:flex;gap:10px}.contact-buttons a{padding:14px 18px;border:1px solid rgba(255,255,255,.35);border-radius:8px;font-weight:900}.contact-buttons .whatsapp-contact{border-color:#1fc66a;background:#1fc66a}.modal{position:fixed;z-index:2000;inset:0;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(3,16,37,.76)}.modal.open{display:flex}.modal-panel{position:relative;width:min(850px,100%);max-height:90vh;overflow:auto;padding:28px;background:white;border-radius:16px;box-shadow:var(--shadow)}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:30px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{position:relative}.field label{display:block;margin-bottom:6px;color:#526176;font-size:12px;font-weight:900}.field input,.field select{width:100%;height:50px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink)}.consent{display:block;margin:18px 0}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-box{padding:14px;border:1px solid var(--line);border-radius:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.fare-day{padding:13px 8px;border:1px solid var(--line);border-radius:10px;text-align:center}.fare-day.best{border-color:var(--gold);background:#fff8e3}.fare-day button{margin-top:8px;border:0;background:var(--navy);color:white;border-radius:7px;padding:7px 10px}.segment{padding:14px 0;border-bottom:1px solid var(--line)}.passenger-card{margin:16px 0;padding:18px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}.passenger-card h3{margin:0 0 14px}.passenger-badge{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;background:#fff0f1;color:var(--red);font-size:12px}.form-section-title{margin:22px 0 12px;font-size:18px;font-weight:900}.privacy-note{font-size:13px;color:var(--muted)}footer{padding:22px 0;background:#04142e;color:#c7d2df}@media(max-width:1120px){.premium-header nav{gap:2px}.nav-product{min-width:57px;padding:10px 6px}.booking-fields{grid-template-columns:1fr 42px 1fr 1fr 1fr}.traveller-field{grid-column:1/-1;border-radius:0 0 10px 10px}.trust-grid,.service-grid,.destination-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:820px){.top-strip{display:none}.header-main{min-height:76px}.menu-button{display:block}.header-login{display:none}.premium-header nav{position:absolute;left:16px;right:16px;top:76px;display:none;grid-template-columns:repeat(3,1fr);padding:12px;background:white;border-radius:12px;box-shadow:var(--shadow)}.premium-header nav.open{display:grid}.premium-hero{min-height:360px;padding:58px 0 130px}.premium-search-card{padding:20px}.search-card-head{align-items:flex-start;flex-direction:column}.booking-fields{grid-template-columns:1fr}.booking-box,.booking-box:first-child,.traveller-field{border-radius:8px;margin-bottom:9px}.premium-swap{display:none}.search-footer{align-items:stretch;flex-direction:column}.premium-actions{width:100%;margin-left:0}.premium-actions button{flex:1}.traveller-panel{right:auto;left:0;width:min(365px,calc(100vw - 64px))}.flight-card{grid-template-columns:1fr}.price{text-align:left;border-top:1px solid var(--line);padding-top:14px}.contact-inner{align-items:flex-start;flex-direction:column}.results-header{align-items:flex-start;flex-direction:column;gap:12px}.calendar-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.container{width:min(100% - 20px,1240px)}.premium-brand strong{font-size:20px}.premium-brand small{font-size:8px}.premium-hero h1{font-size:44px}.premium-tabs{width:100%;overflow:auto}.premium-tabs label span,.trip-tab-button{white-space:nowrap}.premium-actions{flex-direction:column}.trust-grid,.service-grid,.destination-grid,.form-grid,.detail-grid{grid-template-columns:1fr}.cabin-options{grid-template-columns:1fr}.contact-buttons{width:100%;flex-direction:column;text-align:center}}
/* V7.1 official branding */
.premium-brand{display:flex;align-items:center;min-width:190px;margin-right:auto}
.header-logo{display:block;width:190px;max-height:72px;object-fit:contain;object-position:left center}
.branded-footer{display:flex;align-items:center;gap:18px}
.branded-footer img{width:118px;max-height:68px;object-fit:contain}
.branded-footer strong,.branded-footer span{display:block}
.branded-footer strong{color:#fff;font-size:16px;margin-bottom:4px}
.branded-footer span{color:#c7d2df;font-size:13px}
@media(max-width:820px){
  .premium-brand{min-width:145px}
  .header-logo{width:145px;max-height:58px}
}
@media(max-width:560px){
  .premium-brand{min-width:128px}
  .header-logo{width:128px;max-height:52px}
  .branded-footer{align-items:flex-start;flex-direction:column}
  .branded-footer img{width:105px}
}

/* Avanti V8 Professional OTA Edition */
:root{--gold2:#f3c75c}
.premium-header{border-bottom:1px solid rgba(7,28,58,.06)}
.header-main{min-height:98px}
.premium-brand{min-width:245px}
.header-logo{width:238px;max-height:86px;filter:drop-shadow(0 4px 10px rgba(7,28,58,.12))}
.premium-hero{position:relative;overflow:hidden;min-height:450px;padding:68px 0 158px;background:
radial-gradient(circle at 82% 20%,rgba(58,132,184,.42),transparent 32%),
linear-gradient(105deg,#06162f 0%,#0b2b58 60%,#164c76 100%)}
.premium-hero:after{content:"";position:absolute;right:-120px;bottom:-250px;width:650px;height:650px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.hero-layout{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px}
.hero-copy h1 em{color:var(--gold2);font-style:normal}
.hero-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.hero-badges span{padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.07);font-size:13px;font-weight:800}
.hero-plane{position:relative;min-height:250px}
.hero-orbit{position:absolute;inset:15px 0 0 40px;border:2px solid rgba(243,199,92,.35);border-left-color:transparent;border-radius:50%;transform:rotate(-14deg)}
.plane-symbol{position:absolute;right:80px;top:35px;color:#fff;font-size:138px;line-height:1;transform:rotate(-12deg);filter:drop-shadow(0 24px 18px rgba(0,0,0,.25))}
.hero-city-card{position:absolute;right:0;bottom:12px;min-width:180px;padding:18px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(6,22,47,.72);backdrop-filter:blur(9px)}
.hero-city-card strong,.hero-city-card small{display:block}.hero-city-card strong{font-size:28px;color:var(--gold2)}.hero-city-card small{color:#d9e4ef}
.premium-search-card{border-top:5px solid var(--red);box-shadow:0 28px 70px rgba(4,20,46,.22)}
.search-card-head{padding-bottom:16px;border-bottom:1px solid #edf1f5}
.booking-box{transition:border-color .2s,box-shadow .2s,transform .2s}
.booking-box:focus-within{position:relative;z-index:5;border-color:var(--red);box-shadow:0 0 0 3px rgba(199,25,32,.08);transform:translateY(-1px)}
.premium-search-button{background:linear-gradient(135deg,#da1c25,#b80e16);box-shadow:0 10px 22px rgba(199,25,32,.24)}
.quick-routes{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0 0;padding:0 10px}
.quick-routes:before{content:"Popular:";align-self:center;color:#6f7d8e;font-size:12px;font-weight:900}
.quick-routes button{padding:8px 11px;border:1px solid #dce3eb;border-radius:999px;background:white;color:#30445e;font-size:12px;font-weight:800;cursor:pointer}
.quick-routes button:hover{border-color:var(--red);color:var(--red)}
.flight-card{position:relative;overflow:hidden;border-left:4px solid var(--navy)}
.flight-card:before{content:"LIVE";position:absolute;right:0;top:0;padding:5px 9px;border-radius:0 0 0 8px;background:#eaf8ef;color:#167a3c;font-size:9px;font-weight:900;letter-spacing:1px}
.service-grid article,.destination-grid article{transition:transform .2s,box-shadow .2s}.service-grid article:hover,.destination-grid article:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(7,28,58,.1)}
@media(max-width:980px){.hero-layout{grid-template-columns:1fr}.hero-plane{display:none}}
@media(max-width:820px){.premium-brand{min-width:175px}.header-logo{width:170px}.quick-routes{padding:0}}
@media(max-width:560px){.premium-brand{min-width:145px}.header-logo{width:140px}.hero-badges{gap:7px}.hero-badges span{font-size:11px}}

/* Avanti V9 Professional OTA Edition */
.header-main{min-height:84px}
.premium-brand{min-width:230px}
.header-logo{width:225px;max-height:64px;object-fit:contain;filter:none}
.ota-hero{position:relative;overflow:hidden;min-height:360px;padding:56px 0 135px;background:
linear-gradient(90deg,rgba(3,18,43,.96),rgba(6,34,71,.74),rgba(17,70,112,.25)),
radial-gradient(circle at 76% 50%,#355f86 0,#123b64 40%,#06162f 80%)}
.ota-hero:after{content:"";position:absolute;right:-180px;bottom:-300px;width:800px;height:800px;border:1px solid rgba(255,255,255,.13);border-radius:50%}
.ota-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr .9fr;align-items:center}
.ota-copy{color:#fff}.ota-copy h1{margin:10px 0 14px;font-size:58px;line-height:1.03}.ota-copy h1 em{color:#f3c75c;font-style:normal}.ota-copy p{max-width:590px;color:#d8e3ef;font-size:17px}
.ota-plane{justify-self:end;margin-right:75px;color:#fff;font-size:150px;transform:rotate(-13deg);filter:drop-shadow(0 26px 22px rgba(0,0,0,.28))}
.premium-search-wrap{margin-top:-96px}
.premium-search-card{padding:0;border-top:0;overflow:visible}
.search-card-head{margin:0;padding:19px 22px;background:#fff;border-bottom:1px solid #e8edf3;border-radius:15px 15px 0 0}
.booking-fields{padding:0 22px 0;grid-template-columns:1.35fr 42px 1.35fr .9fr .9fr 1.12fr}
.booking-box{border-top:0;border-bottom:0}
.search-footer{margin:0;padding:20px 22px;border-top:1px solid #e8edf3}
.quick-routes{padding:12px 22px 18px;margin:0;background:#fafbfd;border-radius:0 0 15px 15px}
.trust-strip{background:#071c3a;color:#fff;border:0}.trust-grid small{color:#c5d1df}.trust-grid article>span{background:rgba(243,199,92,.14);color:#f3c75c}
.section-row-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.section-row-heading h2{margin:6px 0 0;color:#071c3a}.section-row-heading>a{color:#c71920;font-weight:900}
.ota-route-grid article{padding:0;overflow:hidden;cursor:pointer}.ota-route-grid article img{display:block;width:100%;height:145px;object-fit:cover}.ota-route-grid article>div{display:flex;justify-content:space-between;gap:8px;padding:16px 16px 4px}.ota-route-grid article>div span{color:#c71920}.ota-route-grid article>small{display:block;padding:0 16px 16px;color:#758398}
.airline-strip{padding:28px 0;background:#fff;border-top:1px solid #e4e9ef}.airline-strip .container{display:flex;align-items:center;gap:28px}.airline-strip span{color:#738196;font-size:11px;font-weight:900;letter-spacing:1.2px}.airline-names{display:flex;justify-content:space-between;gap:30px;flex:1;flex-wrap:wrap;color:#19324f}.airline-names strong{font-size:18px}
@media(max-width:980px){.ota-hero-inner{grid-template-columns:1fr}.ota-plane{display:none}.ota-copy h1{font-size:48px}}
@media(max-width:820px){.premium-brand{min-width:165px}.header-logo{width:160px}.booking-fields{padding:0 16px;grid-template-columns:1fr}.search-card-head,.search-footer,.quick-routes{padding-left:16px;padding-right:16px}.airline-strip .container{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.header-logo{width:138px}.ota-copy h1{font-size:42px}.airline-names{gap:16px}.airline-names strong{font-size:15px}}


/* AVANTI PROFESSIONAL EDITION 2026 — FINAL CONSOLIDATED OVERRIDES */
.header-main{
  min-height:82px!important;
  height:82px!important;
  padding-top:6px!important;
  padding-bottom:6px!important;
}
.premium-brand{
  min-width:210px!important;
  max-width:235px!important;
  height:70px!important;
  margin-right:auto!important;
  overflow:hidden!important;
}
.header-logo{
  display:block!important;
  width:220px!important;
  height:64px!important;
  max-height:64px!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:none!important;
}
.premium-header nav{
  align-self:stretch!important;
}
.nav-product{
  justify-content:center!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
.professional-hero{
  min-height:365px!important;
  padding:56px 0 138px!important;
  background:
    radial-gradient(circle at 78% 45%,rgba(67,133,183,.42),transparent 30%),
    linear-gradient(105deg,#06162f 0%,#0b2b58 60%,#164c76 100%)!important;
}
.professional-hero-grid{
  display:grid!important;
  grid-template-columns:1fr .8fr!important;
  align-items:center!important;
  gap:30px!important;
}
.professional-hero .hero-copy{
  margin:0!important;
}
.professional-hero h1{
  margin:10px 0 16px!important;
  font-size:clamp(46px,5.5vw,72px)!important;
  line-height:1!important;
}
.professional-hero h1 em{
  color:#f2c45d!important;
  font-style:normal!important;
}
.hero-proof{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:22px!important;
}
.hero-proof span{
  padding:8px 11px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:800!important;
}
.professional-plane{
  justify-self:end!important;
  margin-right:70px!important;
  color:#fff!important;
  font-size:150px!important;
  transform:rotate(-13deg)!important;
  filter:drop-shadow(0 28px 22px rgba(0,0,0,.28))!important;
}
.premium-search-wrap{
  margin-top:-96px!important;
}
.premium-search-card{
  border-top:5px solid #c71920!important;
}
@media(max-width:980px){
  .professional-hero-grid{grid-template-columns:1fr!important}
  .professional-plane{display:none!important}
}
@media(max-width:820px){
  .header-main{height:74px!important;min-height:74px!important}
  .premium-brand{min-width:155px!important;max-width:170px!important;height:62px!important}
  .header-logo{width:165px!important;height:56px!important;max-height:56px!important}
}
@media(max-width:560px){
  .premium-brand{min-width:132px!important;max-width:145px!important}
  .header-logo{width:140px!important;height:50px!important;max-height:50px!important}
}

/* V7.2 public header: currency/country selectors; admin access remains /admin/ only */
.header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.header-select{display:flex;align-items:center;gap:6px;height:42px;padding:0 9px;border:1px solid #cbd6e2;border-radius:8px;background:#fff;color:var(--navy);font-size:13px;font-weight:800}
.header-select select{max-width:132px;border:0;outline:0;background:transparent;color:var(--navy);font-weight:800;cursor:pointer}
.header-select.country-select select{max-width:150px}
.customer-login{white-space:nowrap}
@media(max-width:1120px){.header-main{gap:12px}.header-actions{gap:5px}.header-select{padding:0 6px}.header-select.country-select select{max-width:105px}.customer-login{padding:11px 10px}}
@media(max-width:920px){.header-actions{margin-left:auto}.premium-header nav{order:5}.header-select.country-select{display:none}}
@media(max-width:820px){.header-actions{display:flex}.header-select{height:40px}.header-select select{max-width:64px}.customer-login{display:inline-flex;font-size:0;padding:0;width:40px;height:40px;align-items:center;justify-content:center}.customer-login:before{content:'👤';font-size:18px}}
@media(max-width:520px){.header-select.country-select{display:none}.header-actions{gap:4px}.header-select{padding:0 5px}.header-select span{display:none}.header-select select{max-width:58px;font-size:12px}}

/* V8 booking extras */
.extras-intro{margin-top:-4px}.extras-loading{padding:14px;border:1px dashed #cbd5e1;border-radius:12px;color:#52627a;background:#f8fafc}.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.extra-card{display:flex;gap:10px;align-items:flex-start;padding:14px;border:1px solid #dbe3ee;border-radius:14px;background:#fff;cursor:pointer}.extra-card:hover{border-color:#9db2cf}.extra-card input{margin-top:4px}.extra-card-body{flex:1}.extra-card-title{display:flex;justify-content:space-between;gap:10px;font-weight:800;color:#071f46}.extra-card p{margin:6px 0 0;font-size:12px;color:#64748b;line-height:1.45}.extras-empty{grid-column:1/-1;padding:13px;border-radius:12px;background:#f8fafc;color:#64748b}.extras-summary{display:flex;justify-content:space-between;gap:15px;padding:14px 16px;margin:14px 0;border-radius:12px;background:#071f46;color:#fff}.extras-summary strong{text-align:right}@media(max-width:700px){.extras-grid{grid-template-columns:1fr}}


/* Avanti V8.1 Professional Booking UX */
.traveller-panel.traveller-panel-flow{position:static!important;display:none;width:100%;margin:14px 0 0;padding:20px 22px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(7,28,58,.10)}
.traveller-panel.traveller-panel-flow.open{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:0 24px}
.traveller-panel-flow .traveller-row{min-height:72px}
.traveller-panel-flow .cabin-title,.traveller-panel-flow .cabin-options,.traveller-panel-flow .apply-travellers{grid-column:1/-1}
.traveller-panel-flow .cabin-options{grid-template-columns:repeat(4,1fr);margin-top:4px}
.traveller-panel-flow .cabin-options label{min-height:52px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;justify-content:center;background:#f8fafc}
.traveller-panel-flow .apply-travellers{max-width:320px;justify-self:end}
.extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.extras-section-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-top:4px;color:var(--navy)}
.extras-section-heading span{padding:5px 9px;border-radius:999px;background:#eef5ff;color:#235a93;font-size:11px;font-weight:800}
.extra-card{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:.2s ease}
.extra-card:hover{border-color:#9fb3c9;box-shadow:0 8px 20px rgba(7,28,58,.07);transform:translateY(-1px)}
.extra-card input{margin-top:7px;accent-color:var(--red)}
.extra-card:has(input:checked){border-color:var(--red);background:#fff7f7;box-shadow:0 0 0 2px rgba(199,25,32,.08)}
.extra-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:11px;background:#f0f4f8;font-size:22px}
.extra-card-body{min-width:0;flex:1}
.extra-card-title{display:flex;justify-content:space-between;gap:10px;color:var(--navy);font-weight:900}
.extra-card p,.extras-availability p{margin:5px 0 0;color:var(--muted);font-size:12px}
.request-badge{padding:4px 8px;border-radius:999px;background:#eef5ff;color:#235a93;font-size:10px;white-space:nowrap}
.extras-availability{grid-column:1/-1;display:flex;gap:12px;padding:15px;border:1px solid #d9e5f2;border-radius:12px;background:#f5f9fd}
.availability-icon{font-size:22px}
.extras-summary{display:flex;align-items:center;justify-content:space-between;margin:14px 0;padding:14px 16px;border-radius:10px;background:#071c3a;color:#fff}
.extras-summary strong{color:#ffd26a}
@media(max-width:820px){.traveller-panel.traveller-panel-flow.open{grid-template-columns:1fr}.traveller-panel-flow .cabin-options{grid-template-columns:1fr 1fr}.traveller-panel-flow .apply-travellers{max-width:none;width:100%}.extras-grid{grid-template-columns:1fr}}
@media(max-width:520px){.traveller-panel-flow .cabin-options{grid-template-columns:1fr}.extra-card-title{flex-direction:column;gap:4px}}

/* V8.1.1 definitive traveller panel layout fix */
#travellerPanel.traveller-panel-flow{position:static!important;inset:auto!important;top:auto!important;right:auto!important;left:auto!important;z-index:auto!important;float:none!important;width:100%!important;max-width:none!important;margin:14px 0 0!important;transform:none!important;}
#travellerPanel.traveller-panel-flow.open{display:grid!important;}
.premium-search-card:has(#travellerPanel.open){padding-bottom:28px;}
@media(max-width:820px){#travellerPanel.traveller-panel-flow.open{display:block!important;}}


/* Sprint 2 — Premium Flight Search Results */
.results-v2{margin-top:38px;padding:24px;border:1px solid #e4e9ef;border-radius:22px;background:#f6f8fb;box-shadow:0 20px 55px rgba(7,28,58,.10)}
.booking-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin:-4px 0 26px;padding:13px 18px;border-radius:14px;background:#071f46;color:#b9c8dc;font-size:12px;font-weight:800;overflow:auto;white-space:nowrap}
.booking-progress span.done{color:#fff}.booking-progress span.active{padding:7px 11px;border-radius:999px;background:#ffc742;color:#071f46}.booking-progress i{font-style:normal;color:#617a9c}
.results-toolbar{padding-bottom:18px;border-bottom:1px solid #dfe5ec}.results-tools{display:flex;gap:10px;align-items:center}.modify-search-button{height:44px;padding:0 14px;border:1px solid #071f46;border-radius:10px;background:#fff;color:#071f46;font-weight:900;cursor:pointer}
.results-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:20px;margin-top:20px}.flight-filters{align-self:start;position:sticky;top:94px;max-height:calc(100vh - 112px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:20px;border:1px solid #e0e6ed;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(7,28,58,.07)}.flight-filters::-webkit-scrollbar{width:7px}.flight-filters::-webkit-scrollbar-track{background:transparent}.flight-filters::-webkit-scrollbar-thumb{border-radius:999px;background:#cbd5e1}.flight-filters::-webkit-scrollbar-thumb:hover{background:#94a3b8}
.filter-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #edf1f5}.filter-title h3{margin:0;color:#071f46}.filter-title button{border:0;background:transparent;color:#c61822;font-weight:900;cursor:pointer}.filter-group{padding:17px 0;border-bottom:1px solid #edf1f5}.filter-group:last-child{border-bottom:0}.filter-group h4{margin:0 0 11px;color:#071f46;font-size:14px}.filter-group label,.airline-filter-list label{display:flex;align-items:center;gap:9px;margin:9px 0;color:#42536a;font-size:13px;cursor:pointer}.airline-filter-list label span{flex:1}.airline-filter-list small{color:#8291a5}.filter-group input{accent-color:#c61822}
.mobile-filter-bar{display:none}.premium-flight-card{grid-template-columns:190px minmax(300px,1fr) 190px;min-height:205px;border-left:5px solid #071f46;border-radius:18px;box-shadow:0 12px 32px rgba(7,28,58,.09);transition:transform .2s ease,box-shadow .2s ease}.premium-flight-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(7,28,58,.14)}
.value-badges{position:absolute;left:17px;top:0;display:flex;gap:6px;transform:translateY(-50%)}.value-badge{padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.4px}.value-badge.lowest{background:#e8f8ef;color:#13733a}.value-badge.fastest{background:#eaf1ff;color:#174da8}.value-badge.best{background:#fff4d2;color:#825f00}.fare-family{display:inline-block;margin-top:8px;padding:5px 8px;border-radius:7px;background:#eef2f7;color:#354a63;font-size:11px;font-weight:900}.fare-label{color:#69788c;text-transform:uppercase;letter-spacing:.7px}.premium-flight-card .price strong{margin:3px 0 5px;font-size:27px}.premium-flight-card .book-button{background:#f2bd31;color:#071f46}.premium-flight-card .book-button:hover{background:#ffcE54}.no-flight-results{padding:50px 20px;border:1px dashed #cbd5df;border-radius:16px;background:#fff;text-align:center}.no-flight-results h3{color:#071f46}
@media(max-width:1000px){.results-layout{grid-template-columns:1fr}.flight-filters{position:fixed;z-index:1800;left:12px;bottom:12px;top:90px;width:min(320px,calc(100vw - 24px));max-height:calc(100vh - 102px);overflow-y:auto;overflow-x:hidden;display:none}.flight-filters.open{display:block}.mobile-filter-bar{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.mobile-filter-bar button{height:42px;padding:0 15px;border:0;border-radius:10px;background:#071f46;color:#fff;font-weight:900}.premium-flight-card{grid-template-columns:160px 1fr}.premium-flight-card .price{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;text-align:left}.premium-flight-card .card-actions{grid-template-columns:1fr 1fr;min-width:310px;margin-top:0}}
@media(max-width:700px){.results-v2{padding:14px;border-radius:16px}.booking-progress{justify-content:flex-start}.results-toolbar,.results-tools{align-items:stretch;flex-direction:column}.results-tools{width:100%}.results-tools select,.modify-search-button{width:100%}.premium-flight-card{grid-template-columns:1fr;padding:20px}.premium-flight-card .route{grid-template-columns:1fr minmax(90px,.7fr) 1fr}.premium-flight-card .price{grid-column:auto;display:block}.premium-flight-card .card-actions{grid-template-columns:1fr;min-width:0}.value-badges{position:static;margin-bottom:8px;transform:none}}

/* Sprint 2 — premium flight results and details drawer */
.details-drawer-modal{justify-content:flex-end;padding:0;background:rgba(3,16,37,.64);backdrop-filter:blur(4px)}
.details-drawer-modal.open{display:flex}
.details-drawer-panel{width:min(680px,100%);height:100vh;max-height:none;margin:0;padding:0;border-radius:24px 0 0 24px;overflow:auto;animation:avantiDrawerIn .28s ease-out;box-shadow:-24px 0 70px rgba(3,16,37,.25)}
.details-drawer-panel .modal-close{z-index:3;top:18px;right:20px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #e1e7ef;border-radius:50%;background:#fff;color:#071f46;font-size:25px;box-shadow:0 6px 18px rgba(7,28,58,.12)}
@keyframes avantiDrawerIn{from{transform:translateX(100%);opacity:.45}to{transform:translateX(0);opacity:1}}
.flight-drawer-head{padding:32px 78px 24px 30px;background:linear-gradient(135deg,#071f46,#123b72);color:#fff}
.flight-drawer-head h2{margin:8px 0 4px;font-size:28px}.flight-drawer-head p{margin:0;color:#d8e5f4}
.drawer-fare{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:22px}.drawer-fare strong{font-size:30px;color:#ffd05a}.drawer-fare small{display:block;color:#cbd9e9}
.drawer-body{padding:26px 30px 34px}.drawer-section{margin-bottom:24px}.drawer-section h3{margin:0 0 14px;color:#071f46;font-size:18px}
.drawer-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.drawer-summary-card{padding:14px;border:1px solid #e4eaf1;border-radius:14px;background:#f8fafc}.drawer-summary-card small,.drawer-summary-card strong{display:block}.drawer-summary-card small{margin-bottom:5px;color:#718096}.drawer-summary-card strong{color:#14243a}
.drawer-journey{margin-bottom:18px;padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.drawer-journey-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.drawer-journey-title strong{color:#071f46}.drawer-journey-title span{color:#607086;font-size:13px}
.drawer-segment{display:grid;grid-template-columns:72px 22px 1fr;gap:12px;padding:10px 0}.drawer-time{font-weight:900;color:#071f46}.drawer-rail{position:relative}.drawer-rail:before{content:"";position:absolute;left:9px;top:4px;bottom:-14px;width:2px;background:#d8e1eb}.drawer-rail:after{content:"";position:absolute;left:5px;top:4px;width:10px;height:10px;border-radius:50%;background:#e31e2f;box-shadow:0 0 0 4px #fdebed}.drawer-segment:last-child .drawer-rail:before{bottom:16px}.drawer-segment-main b{display:block;color:#14243a}.drawer-segment-main p{margin:4px 0;color:#617187;font-size:13px}.drawer-layover{margin:8px 0 8px 106px;padding:10px 12px;border-radius:10px;background:#fff6df;color:#7b5d0c;font-size:13px;font-weight:800}
.drawer-condition-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.drawer-condition{padding:15px;border:1px solid #e2e8f0;border-radius:13px}.drawer-condition b{display:block;margin-bottom:6px;color:#071f46}.drawer-condition p{margin:0;color:#5f6f83;font-size:13px}
.drawer-sticky-action{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 30px;border-top:1px solid #e3e9ef;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}.drawer-sticky-action div small,.drawer-sticky-action div strong{display:block}.drawer-sticky-action div strong{font-size:23px;color:#071f46}.drawer-sticky-action .primary-button{min-width:210px;margin:0}
@media(max-width:700px){.details-drawer-panel{border-radius:0}.flight-drawer-head{padding:26px 66px 20px 20px}.drawer-body{padding:20px}.drawer-summary-grid{grid-template-columns:1fr 1fr}.drawer-condition-grid{grid-template-columns:1fr}.drawer-sticky-action{padding:14px 20px}.drawer-sticky-action .primary-button{min-width:150px}.drawer-layover{margin-left:0}}

/* Sprint 2.2 — approved Booking-style flight results */
.sort-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0 4px;border:1px solid #dfe6ee;border-radius:14px;background:#fff;overflow:hidden}
.sort-tabs button{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:15px 18px;border:0;border-right:1px solid #e8edf3;background:#fff;color:#53647a;cursor:pointer}
.sort-tabs button:last-child{border-right:0}.sort-tabs button b{font-size:15px;color:#102b50}.sort-tabs button small{font-size:11px}.sort-tabs button.active{box-shadow:inset 0 -4px 0 #d6a51f;background:#fffaf0}.sort-tabs button.active b{color:#071f46}
.filter-title small{display:block;margin-bottom:4px;color:#8a98aa;font-size:9px;font-weight:900;letter-spacing:1px}.filter-route-summary{display:flex;flex-direction:column;gap:4px;margin:15px 0 2px;padding:13px;border-radius:12px;background:#071f46;color:#fff}.filter-route-summary span{font-size:11px;color:#c8d6e8}
.filter-group label{justify-content:flex-start}.filter-group label span{flex:1}.filter-group label small{margin-left:auto;color:#8795a7}.range-values{display:flex;justify-content:space-between;margin-bottom:8px;color:#42536a;font-size:11px;font-weight:800}.filter-group input[type=range]{width:100%;accent-color:#d6a51f}.range-help{display:block;margin-top:6px;color:#8a98aa;font-size:10px}
.time-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.time-filter-grid label{margin:0}.time-filter-grid input{position:absolute;opacity:0}.time-filter-grid span{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:9px 5px;border:1px solid #dfe6ee;border-radius:9px;background:#fff;font-size:13px}.time-filter-grid b{font-size:10px;color:#53647a}.time-filter-grid input:checked+span{border-color:#d6a51f;background:#fff8df;box-shadow:0 0 0 2px rgba(214,165,31,.12)}
.results-count-line{display:flex;align-items:center;justify-content:space-between;margin:2px 0 12px;padding:0 2px;color:#738197;font-size:11px}.results-count-line strong{color:#0b294f;font-size:14px}
.premium-flight-card{position:relative;cursor:pointer}.premium-flight-card:focus{outline:3px solid rgba(214,165,31,.35);outline-offset:2px}.fare-perks{display:flex;flex-direction:column;gap:4px;margin:9px 0;color:#52647b;font-size:11px}.fare-perks span:last-child{color:#16824b;font-weight:800}.more-fares-button{width:100%;margin:10px 0 0;padding:8px 10px;border:1px solid #dfe6ee;border-radius:8px;background:#fff;color:#193d68;font-size:11px;font-weight:900;cursor:pointer}.more-fares-button.open{border-color:#d6a51f;background:#fff9e8}
.flight-card .airline-logo{width:46px;height:46px;object-fit:contain;margin-bottom:8px}.premium-flight-card .route{align-items:center}.premium-flight-card .route>div:nth-child(2){text-align:center}.premium-flight-card .line{position:relative;height:2px;margin:9px 8px;background:#bcc9d8}.premium-flight-card .line:after{content:"✈";position:absolute;right:-2px;top:50%;transform:translateY(-52%);padding-left:4px;background:#fff;color:#173f70;font-size:12px}
@media(max-width:700px){.sort-tabs{grid-template-columns:1fr}.sort-tabs button{border-right:0;border-bottom:1px solid #e8edf3}.sort-tabs button:last-child{border-bottom:0}.results-count-line{align-items:flex-start;flex-direction:column;gap:4px}.time-filter-grid{grid-template-columns:repeat(4,1fr)}.time-filter-grid span{padding:7px 2px}.time-filter-grid b{font-size:9px}}

/* Avanti v10.0 global display-date standard */
.date-format-display{display:block;margin-top:5px;color:#667085;font-size:11px;font-weight:700;letter-spacing:.02em}
.flight-date{margin:3px 0 5px;color:#667085;font-size:12px;font-weight:700}
.drawer-time{min-width:92px}.drawer-time b,.drawer-time small{display:block}.drawer-time small{margin-top:3px;color:#667085;font-size:11px;white-space:nowrap}
@media(max-width:640px){.drawer-time{min-width:76px}.drawer-time small{font-size:10px}}

/* Sprint 2.2 date controls: visible DD/MM/YYYY, hidden ISO date for APIs. */
.date-input-shell{position:relative;display:flex;align-items:center;width:100%}
.date-display-input{width:100%;padding-right:42px!important;font-variant-numeric:tabular-nums}
.date-picker-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;background:transparent;color:#0b2a52;font-size:17px;line-height:1;cursor:pointer;border-radius:7px}
.date-picker-button:hover,.date-picker-button:focus-visible{background:#eef4fb;outline:2px solid #1d70d6;outline-offset:1px}
.date-picker-button:disabled{cursor:not-allowed;opacity:.35}
.native-date-picker{position:absolute;right:7px;top:50%;width:32px;height:32px;transform:translateY(-50%);opacity:0;pointer-events:none}
.date-display-input.invalid-date{border-color:#d71920!important;box-shadow:0 0 0 2px rgba(215,25,32,.12)}

/* v10.0.2: keep native ISO calendar control fully off-canvas; only DD/MM/YYYY text field is visible. */
.native-date-picker{position:fixed!important;left:-10000px!important;right:auto!important;top:0!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;pointer-events:none!important;transform:none!important;overflow:hidden!important;clip-path:inset(50%)!important}

/* v10.0.3 — custom travel calendar (no native browser date input) */
.premium-search-card{overflow:visible}
.date-input-shell{position:relative;display:flex;align-items:center}
.date-picker-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:#f1f4f8;cursor:pointer}
.date-picker-button:disabled{opacity:.45;cursor:not-allowed}
.travel-calendar{position:absolute;z-index:1500;top:198px;right:29px;width:min(390px,calc(100% - 58px));padding:18px;border:1px solid #dce3eb;border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(7,28,58,.22);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s ease}
.travel-calendar.open{opacity:1;visibility:visible;transform:translateY(0)}
.travel-calendar-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;text-align:center}
.travel-calendar-head strong,.travel-calendar-head small{display:block}
.travel-calendar-head strong{color:var(--navy);font-size:17px}
.travel-calendar-head small{margin-top:2px;color:var(--muted);font-size:11px}
.calendar-nav{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-size:25px;line-height:1;cursor:pointer}
.calendar-nav:disabled{opacity:.35;cursor:not-allowed}
.calendar-weekdays,.travel-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.calendar-weekdays{margin:16px 0 7px;color:#77869a;font-size:11px;font-weight:900;text-align:center}
.calendar-weekdays span{padding:4px 0}
.calendar-day{position:relative;aspect-ratio:1;border:0;border-radius:10px;background:transparent;color:var(--ink);font-weight:800;cursor:pointer}
.calendar-day:hover:not(:disabled){background:#fff0f1;color:var(--red)}
.calendar-day.today{box-shadow:inset 0 0 0 1px var(--gold)}
.calendar-day.selected{background:var(--red)!important;color:#fff!important;box-shadow:0 6px 13px rgba(199,25,32,.22)}
.calendar-day.in-range:not(.selected){background:#fff5f5;color:var(--red)}
.calendar-day:disabled,.calendar-day.past{color:#c4cbd4;cursor:not-allowed}
.calendar-blank{aspect-ratio:1}
.travel-calendar-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #edf1f5;color:var(--muted);font-size:12px}
.travel-calendar-foot button{height:36px;padding:0 16px;border:0;border-radius:8px;background:var(--navy);color:#fff;font-weight:900;cursor:pointer}
@media(max-width:820px){.travel-calendar{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:calc(100vh - 24px);overflow:auto;border-radius:18px}.calendar-day{min-height:40px;aspect-ratio:auto}}

/* v10.0.4 — approved two-month OTA calendar */
.travel-calendar{top:198px;right:24px;width:min(720px,calc(100% - 48px));padding:18px 20px 16px;border-radius:12px}
.travel-calendar-head{grid-template-columns:42px 1fr 42px;margin-bottom:10px}
.calendar-head-copy strong{font-size:15px}
.calendar-head-copy small{font-size:12px}
.travel-calendar-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.calendar-month h3{margin:4px 0 13px;text-align:center;color:var(--navy);font-size:16px}
.calendar-weekdays{margin:0 0 7px;font-size:12px;font-weight:700;color:#586679}
.calendar-weekdays,.travel-calendar-grid{gap:3px}
.calendar-day{min-height:38px;aspect-ratio:auto;border-radius:6px;font-size:13px;font-weight:700}
.calendar-day:hover:not(:disabled){background:#eaf3ff;color:#075fcf}
.calendar-day.selected{background:#0875e1!important;color:#fff!important;box-shadow:none}
.calendar-day.in-range:not(.selected){background:#e7f1ff;color:#075fcf;border-radius:0}
.calendar-day.today:not(.selected){box-shadow:inset 0 0 0 1px #0875e1}
.calendar-blank{min-height:38px;aspect-ratio:auto}
.travel-calendar-foot{margin-top:12px;padding-top:10px}
@media(max-width:820px){
  .travel-calendar{left:10px;right:10px;bottom:10px;width:auto;padding:16px;max-height:calc(100vh - 20px)}
  .travel-calendar-months{grid-template-columns:1fr;gap:0}
  .calendar-month:nth-child(2){display:none}
  .calendar-day,.calendar-blank{min-height:42px}
}

/* v10.0.5 — production calendar positioning and footer refinements */
@media(min-width:821px){
  .travel-calendar{position:fixed;right:auto;top:auto;width:min(800px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 24px));overflow:auto;padding:20px 22px 16px;border-radius:14px;z-index:2600}
  .travel-calendar-months{gap:44px}
}
.calendar-month{min-width:0}
.calendar-month h3{margin-bottom:15px;font-size:17px}
.calendar-weekdays,.travel-calendar-grid{column-gap:6px;row-gap:5px}
.calendar-day{transition:background .15s ease,color .15s ease,box-shadow .15s ease}
.calendar-day.selected{background:var(--navy)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(229,182,74,.72),0 6px 16px rgba(7,28,58,.18)}
.calendar-day.in-range:not(.selected){background:#fff3cf;color:var(--navy)}
.calendar-day.today:not(.selected){box-shadow:inset 0 0 0 2px var(--gold)}
.travel-calendar-foot{min-height:48px}
.calendar-footer-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.travel-calendar-foot .calendar-text-action,.travel-calendar-foot .calendar-done-action{height:38px;padding:0 15px;border-radius:8px;font-weight:900;cursor:pointer}
.travel-calendar-foot .calendar-text-action{border:1px solid var(--line);background:#fff;color:var(--navy)}
.travel-calendar-foot .calendar-text-action:hover{border-color:var(--navy);background:#f5f8fc}
.travel-calendar-foot .calendar-done-action{border:0;background:var(--navy);color:#fff}
@media(max-width:820px){
  .travel-calendar-foot{align-items:flex-start;flex-direction:column}
  .calendar-footer-actions{width:100%;margin-left:0}
  .calendar-footer-actions button{flex:1}
}


/* v10.0.6 — rebuilt inline travel search calendar.
   The panel expands the search card instead of floating over homepage content. */
.travel-calendar.travel-calendar-inline{
  position:relative!important;
  inset:auto!important;
  display:none;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  margin:18px 0 4px;
  padding:20px 24px 16px;
  border:1px solid #dce3eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 16px 38px rgba(7,28,58,.12);
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:none!important;
  z-index:20;
}
.travel-calendar.travel-calendar-inline.open{display:block}
.premium-search-card.calendar-expanded{padding-bottom:24px}
.travel-calendar-inline .travel-calendar-head{max-width:100%;margin:0 auto 16px}
.travel-calendar-inline .travel-calendar-months{gap:64px;max-width:790px;margin:0 auto}
.travel-calendar-inline .calendar-month h3{font-size:17px;margin:2px 0 16px}
.travel-calendar-inline .calendar-weekdays,.travel-calendar-inline .travel-calendar-grid{column-gap:8px;row-gap:7px}
.travel-calendar-inline .calendar-day,.travel-calendar-inline .calendar-blank{min-height:40px}
.travel-calendar-inline .travel-calendar-foot{max-width:790px;margin:16px auto 0}
.date-input-shell{display:flex;align-items:center;gap:6px}
.date-input-shell .date-display-input{min-width:0}
.date-picker-button{flex:0 0 38px;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#f7f9fc;cursor:pointer}
.date-box:focus-within{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
@media(max-width:820px){
  .travel-calendar.travel-calendar-inline{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;width:100%!important;max-height:none;padding:16px;margin-top:12px;border-radius:12px}
  .travel-calendar-inline .travel-calendar-months{grid-template-columns:1fr;gap:0}
  .travel-calendar-inline .calendar-month:nth-child(2){display:none}
  .travel-calendar-inline .travel-calendar-foot{align-items:stretch}
}

/* v10.0.10 — Booking-style flight details drawer */
.details-drawer-modal{background:rgba(3,16,37,.55);backdrop-filter:blur(2px)}
.details-drawer-panel{width:min(780px,100%);border-radius:0;overflow:hidden;background:#fff}
.details-drawer-panel .modal-close{top:0;right:18px;width:38px;height:38px;border:1px solid #1671e8;border-radius:0;background:#fff;color:#111;font-size:26px;box-shadow:none}
#detailsContent,.booking-details-drawer{height:100%}
.booking-details-drawer{display:flex;flex-direction:column;color:#20242a;background:#fff}
.booking-drawer-header{padding:0 22px 12px;border-bottom:0;background:#fff}
.booking-drawer-header h2{margin:0 46px 14px 0;font-size:22px;line-height:1.25;color:#20242a}
.booking-share-flight{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#0672e5;font:inherit;cursor:pointer}
.booking-share-flight:first-letter{font-size:22px}
.booking-drawer-scroll{flex:1;overflow-y:auto;padding:4px 22px 88px}
.booking-drawer-journey{padding:8px 0 24px;border-bottom:1px solid #ddd}
.booking-drawer-journey-heading h3{margin:0;font-size:17px;color:#24272b}.booking-drawer-journey-heading p{margin:3px 0 16px;color:#63666b;font-size:14px}
.booking-drawer-segment{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:center;padding:0 0 8px}
.booking-drawer-route{position:relative;min-width:0}.booking-drawer-point{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start}.booking-drawer-point>span{width:16px;height:16px;margin-top:3px;border:2px solid #686c72;border-radius:50%;background:#fff}.booking-drawer-point small,.booking-drawer-point strong,.booking-drawer-point em{display:block}.booking-drawer-point small{margin-bottom:3px;color:#454a50;font-size:12px}.booking-drawer-point strong{font-size:14px;line-height:1.35;color:#20242a}.booking-drawer-point em{margin-top:3px;color:#666;font-size:12px;font-style:normal}.booking-drawer-line{width:1px;height:30px;margin:0 0 0 8px;background:#42464c}
.booking-drawer-airline{display:flex;gap:12px;align-items:flex-start}.booking-drawer-logo{width:34px;height:34px;object-fit:contain}.booking-airline-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#eef5ff;color:#0a5fc4}.booking-drawer-airline strong,.booking-drawer-airline span{display:block}.booking-drawer-airline strong{margin-bottom:2px;font-size:13px}.booking-drawer-airline span{color:#60656c;font-size:12px;line-height:1.5}
.booking-drawer-layover{margin:10px 0 14px 32px;padding:8px 12px;border-radius:6px;background:#f4f7fa;color:#42474e;font-size:12px;font-weight:700}
.booking-drawer-info-row{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid #ddd}.booking-drawer-label{padding-right:18px;border-right:1px solid #ddd}.booking-drawer-label h3{margin:0 0 4px;font-size:16px}.booking-drawer-label p{margin:0;color:#70747a;font-size:14px;line-height:1.45}
.booking-drawer-info-content{display:grid;gap:16px}.booking-info-item,.booking-extra-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:12px;align-items:center}.booking-info-icon{font-size:22px;color:#272b30}.booking-info-item strong,.booking-info-item p,.booking-extra-item strong,.booking-extra-item p{display:block;margin:0}.booking-info-item strong,.booking-extra-item strong{font-size:14px;font-weight:500}.booking-info-item p,.booking-extra-item p{margin-top:4px;color:#4e5359;font-size:13px}.booking-info-item em,.booking-extra-item em{color:#078633;font-size:13px;font-style:normal;text-align:right}.booking-extra-item em{color:#333}
.booking-rule-item{display:grid;grid-template-columns:26px 1fr;gap:12px;align-items:start}.booking-rule-item span{font-size:22px}.booking-rule-item p{margin:1px 0 0;font-size:14px}
.booking-drawer-footer{position:absolute;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-top:1px solid #ddd;background:#fff}.booking-drawer-footer>div{display:flex;align-items:center;gap:9px}.booking-drawer-footer strong{font-size:22px}.booking-price-help{display:grid;place-items:center;width:18px;height:18px;padding:0;border:1px solid #222;border-radius:50%;background:#fff;font-size:11px}.booking-drawer-footer .primary-button{min-width:98px;margin:0;padding:14px 18px;border-radius:4px;background:#0875e1}.booking-drawer-loading{padding:40px 28px}
@media(max-width:700px){.details-drawer-panel{width:100%}.booking-drawer-scroll{padding:4px 18px 86px}.booking-drawer-header{padding-left:18px}.booking-drawer-segment{grid-template-columns:1fr}.booking-drawer-airline{margin-left:32px}.booking-drawer-info-row{grid-template-columns:1fr;gap:14px}.booking-drawer-label{padding-right:0;border-right:0}.booking-info-item,.booking-extra-item{grid-template-columns:26px minmax(0,1fr)}.booking-info-item em,.booking-extra-item em{grid-column:2;text-align:left}.booking-drawer-footer{padding:14px 18px}}


/* Avanti v10.0.10 — optional services as a separate booking step */
.booking-services-step[hidden]{display:none!important}
.booking-services-step{padding-top:4px}
.booking-step-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.booking-step-back{border:0;background:transparent;color:var(--navy);font-weight:800;cursor:pointer;padding:6px 0}
.booking-step-back:hover{text-decoration:underline}
.booking-step-count{padding:6px 10px;border-radius:999px;background:#eef5ff;color:#235a93;font-size:12px;font-weight:900}
.booking-services-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}
.secondary-button{border:1px solid #aebdd0;border-radius:10px;background:#fff;color:var(--navy);padding:13px 18px;font-weight:900;cursor:pointer}
.secondary-button:hover{background:#f7f9fc}
.service-select-badge{min-width:62px;text-align:center}
.extra-card:has(input:checked) .service-select-badge{background:#0a7a3f;color:#fff}
@media(max-width:640px){.booking-step-header,.booking-services-actions{align-items:stretch;flex-direction:column}.booking-services-actions button{width:100%}}

/* v10.0.13 selectable optional-service preferences */
.extra-card-main{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.extra-card-request{display:block}
.service-option-panel{margin:14px 0 0 34px;padding:14px;border-top:1px solid #e4eaf2;display:grid;grid-template-columns:1fr;gap:10px}
.service-option-panel[hidden]{display:none!important}
.service-option-panel label{display:grid;gap:6px;color:var(--navy);font-size:12px;font-weight:800}
.service-option-panel label span{font-weight:500;color:var(--muted)}
.service-option-panel select,.service-option-panel textarea{width:100%;border:1px solid #cfd9e6;border-radius:9px;background:#fff;padding:10px 11px;font:inherit;color:#10233f}
.service-option-panel select:focus,.service-option-panel textarea:focus{outline:2px solid rgba(10,94,184,.18);border-color:#0a5eb8}
@media(max-width:520px){.service-option-panel{margin-left:0}}

/* Avanti v10.0.13 — visible Optional Services payment feedback */
.booking-services-message { margin: 16px 0 0; }
.booking-services-message:empty { display: none; }
.booking-services-actions button:disabled { opacity: .65; cursor: wait; }


/* v10.0.14 payment confirmation */
.booking-confirmation-modal{z-index:13000}
.booking-confirmation-panel{max-width:560px;text-align:center;padding:40px 34px 30px;border-radius:22px}
.confirmation-success-icon{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e8f8ef;color:#07883f;font-size:42px;font-weight:900;border:2px solid #b9ebcd}
.confirmation-eyebrow{margin:0 0 8px;color:#07883f;font-size:12px;font-weight:900;letter-spacing:.12em}
.booking-confirmation-panel h2{margin:0 0 10px;color:#071e42;font-size:28px}
.confirmation-lead{margin:0 auto 22px;color:#53657c;line-height:1.55;max-width:460px}
.confirmation-reference-card{padding:17px 20px;border-radius:14px;background:#071e42;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left}
.confirmation-reference-card span{font-size:13px;color:#c8d6eb}.confirmation-reference-card strong{font-size:22px;letter-spacing:.04em}
.confirmation-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.confirmation-status-grid>div{padding:14px;border:1px solid #d9e2ef;border-radius:12px;text-align:left;background:#f8fafc}
.confirmation-status-grid span{display:block;color:#6b7c93;font-size:12px;margin-bottom:5px}.confirmation-status-grid strong{color:#071e42;font-size:15px}
.confirmation-note{padding:14px 16px;border-radius:12px;background:#fff8df;color:#614b00;text-align:left;font-size:14px;line-height:1.5;margin-bottom:18px}
.confirmation-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}.confirmation-actions button{min-width:0;width:100%;min-height:52px}
@media(max-width:640px){.booking-confirmation-panel{padding:34px 20px 24px;border-radius:18px}.confirmation-status-grid{grid-template-columns:1fr}.confirmation-reference-card{display:block;text-align:center}.confirmation-reference-card span{display:block;margin-bottom:6px}.confirmation-actions{grid-template-columns:1fr}.confirmation-actions button{width:100%}}


/* v10.0.15 passenger correction actions */
.booking-services-actions {
  flex-wrap: wrap;
}
.booking-edit-passenger-button {
  margin-right: auto;
}
.booking-services-message .message-action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 9px 14px;
  border: 1px solid #b42318;
  border-radius: 8px;
  background: #fff;
  color: #b42318;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.booking-services-message .message-action-button:hover {
  background: #fff1f0;
}
@media (max-width: 720px) {
  .booking-services-actions > button {
    width: 100%;
  }
  .booking-edit-passenger-button {
    order: -1;
  }
}

/* v10.0.19: deterministic first-click calendar visibility */
#travelCalendar[aria-hidden="false"],#travelCalendar.open{display:block!important;visibility:visible!important;opacity:1!important;}
.date-input-shell{cursor:pointer;}
.date-input-shell .date-display-input,.date-input-shell .date-picker-button{cursor:pointer;}


/* Avanti v10.1.0 — fare family comparison before passenger details */
.fare-comparison-modal{z-index:12500;background:rgba(3,16,37,.62);backdrop-filter:blur(3px)}
.fare-comparison-panel{width:min(1180px,96vw);max-width:1180px;height:min(820px,92vh);border-radius:18px;overflow:hidden;background:#f5f7fb;padding:0}
.fare-comparison-panel>.modal-close{z-index:4;top:18px;right:20px;background:#fff;border:1px solid #d4deea}
#fareComparisonContent{height:100%;overflow-y:auto;padding:26px 28px 32px}
.fare-comparison-header{padding:0 46px 20px 0;border-bottom:1px solid #dce3ed}
.fare-airline-title{display:flex;align-items:center;gap:14px}.fare-airline-title img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:12px;padding:6px;border:1px solid #e1e7ef}.fare-airline-title p{margin:0 0 3px;color:#ad7d0a;text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.1em}.fare-airline-title h2{margin:0;color:#071e42;font-size:25px}.fare-airline-title span{display:block;margin-top:5px;color:#596b82;font-size:13px}.fare-help{margin:14px 0 0;color:#607086}

.fare-journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.fare-journey-grid.one-way{grid-template-columns:minmax(0,1fr);max-width:560px}.fare-journey-summary{background:#fff;border:1px solid #d8e2ef;border-radius:13px;padding:13px 15px;box-shadow:0 4px 14px rgba(8,37,78,.05)}.fare-journey-summary.return{border-left:4px solid #14814d}.fare-journey-summary.outbound{border-left:4px solid #0c56b8}.fare-journey-label{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#607086;margin-bottom:7px}.fare-journey-route{display:flex;align-items:center;gap:10px;color:#071e42;font-size:18px}.fare-journey-route span{color:#be1324}.fare-journey-meta{margin-top:7px;color:#596b82;font-size:12px;line-height:1.45}
.fare-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;align-items:stretch;padding-top:22px}.fare-card-grid.single{max-width:390px;margin:0 auto}
.fare-family-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid #d8e1ec;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(19,43,76,.07);overflow:hidden}.fare-family-card.recommended{border:2px solid #c89b25}.fare-recommended{padding:7px 12px;background:#c89b25;color:#071e42;text-align:center;font-size:12px;font-weight:900}
.fare-family-card header{padding:20px 20px 16px;border-bottom:1px solid #e7ecf2}.fare-family-card header span{color:#6b7b90;font-size:12px;font-weight:800;text-transform:uppercase}.fare-family-card h3{margin:5px 0 14px;color:#071e42;font-size:21px}.fare-family-card header strong{display:block;color:#071e42;font-size:25px}.fare-family-card header small{color:#758399}
.fare-family-card ul{display:grid;gap:0;margin:0;padding:8px 20px 18px;list-style:none;flex:1}.fare-feature{display:grid;grid-template-columns:24px 1fr;gap:9px;padding:11px 0;border-bottom:1px solid #edf1f5}.fare-feature>span{color:#16834b;font-weight:900}.fare-feature.no>span{color:#c93a38}.fare-feature.fee>span,.fare-feature.neutral>span{color:#8a6b15}.fare-feature strong,.fare-feature small{display:block}.fare-feature strong{color:#182c47;font-size:13px}.fare-feature small{margin-top:2px;color:#68788d;font-size:12px;line-height:1.35}.fare-select-button{margin:0 20px 20px;width:calc(100% - 40px)}
.price[data-compare-fare]{cursor:pointer}.price[data-compare-fare]:hover strong{text-decoration:underline}.more-fares-button{font-weight:800;color:#075fad}
.selected-fare-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:8px 0 18px;padding:14px 16px;border:1px solid #d7e3ef;border-left:4px solid #c89b25;border-radius:12px;background:#f8fbff}.selected-fare-summary[hidden]{display:none!important}.selected-fare-summary span,.selected-fare-summary strong{display:block}.selected-fare-summary>div>span{color:#6d7c91;font-size:11px;text-transform:uppercase;font-weight:900}.selected-fare-summary>div>strong{margin-top:3px;color:#071e42}.selected-fare-summary>b{color:#071e42;font-size:20px}.selected-fare-benefits{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.selected-fare-benefits span{padding:5px 8px;border-radius:999px;background:#eef4fb;color:#36506f!important;font-size:11px!important;text-transform:none!important}
@media(max-width:700px){.fare-journey-grid{grid-template-columns:1fr}.fare-comparison-panel{width:100%;height:100%;max-height:none;border-radius:0}.fare-comparison-panel>.modal-close{top:12px;right:12px}#fareComparisonContent{padding:20px 15px 28px}.fare-comparison-header{padding-right:40px}.fare-card-grid{grid-template-columns:1fr}.selected-fare-summary{grid-template-columns:1fr}.selected-fare-summary>b{justify-self:start}}

/* v10.1.1 Passenger details redesign */
#bookingModal .modal-panel{width:min(1040px,100%)}
.passenger-profile-card{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr);gap:34px;padding:24px;background:#fff;border-color:#d9e1ea}
.passenger-profile-intro{padding:2px 8px 0 0}
.passenger-profile-intro .passenger-number{display:inline-block;margin-bottom:8px;color:#6a7788;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.passenger-profile-intro h3{margin:0 0 10px;color:var(--navy);font-size:28px}
.passenger-profile-intro p{margin:0 0 12px;color:#5e6d80;font-size:13px}
.passenger-login-note{font-size:12px!important}.passenger-login-link{padding:0;border:0;background:transparent;color:#087a42;text-decoration:underline;font-weight:800;cursor:pointer}
.passenger-profile-form>h4,.passenger-subsection h4{margin:0 0 12px;color:var(--navy);font-size:18px}
.passenger-name-grid{display:grid;grid-template-columns:90px 1fr 1fr;gap:12px}.passenger-last-name{grid-column:2/4}
.passenger-profile-form .field label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.passenger-profile-form .field input,.passenger-profile-form .field select{height:48px;border-radius:4px;background:#f3f4f6;border-color:#e5e7eb}
.passenger-subsection{margin-top:22px;padding-top:18px;border-top:1px solid #e5e9ee}.passenger-subsection-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.passenger-subsection-heading h4 span{color:#758296;font-size:14px;font-weight:500}.passenger-subsection p{margin:4px 0 14px;color:#647286;font-size:12px}
.switch-row{display:flex!important;align-items:center;gap:9px;white-space:nowrap;cursor:pointer}.switch-row input{position:absolute;opacity:0}.switch-control{position:relative;width:34px;height:20px;border-radius:999px;background:#c8ced6;transition:.2s}.switch-control:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.2s}.switch-row input:checked+.switch-control{background:#087a42}.switch-row input:checked+.switch-control:after{transform:translateX(14px)}.switch-row b{font-size:12px}
.document-fields[hidden]{display:none!important}.document-deferred-note{padding:12px;border-radius:7px;background:#fff8df;color:#765b00!important}.frequent-flyer-section>.form-grid{grid-template-columns:1fr 1fr}
.contact-details-card{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.55fr);gap:34px;margin:18px 0;padding:24px;border:1px solid var(--line);border-radius:13px;background:#fff}.contact-details-intro span{color:#6a7788;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.contact-details-intro h3{margin:8px 0 8px;color:var(--navy);font-size:24px}.contact-details-intro p{margin:0;color:#647286;font-size:13px}.contact-details-fields{align-content:start}
@media(max-width:820px){.passenger-profile-card,.contact-details-card{grid-template-columns:1fr;gap:18px}.passenger-name-grid{grid-template-columns:1fr 1fr}.passenger-last-name{grid-column:auto}.passenger-subsection-heading{flex-direction:column}.frequent-flyer-section>.form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.passenger-name-grid{grid-template-columns:1fr}.passenger-profile-card,.contact-details-card{padding:17px}.passenger-profile-intro h3{font-size:24px}}

/* Avanti v11.0.2 — search form date-field polish */
@media (min-width:1121px){
  .booking-fields{
    grid-template-columns:minmax(230px,1.25fr) 42px minmax(230px,1.25fr) minmax(184px,1.02fr) minmax(184px,1.02fr) minmax(205px,1.08fr);
  }
}
.date-box{min-width:184px}
.date-input-shell{position:relative;display:block;width:100%}
.date-input-shell .date-display-input{
  width:100%;
  min-width:0;
  height:38px;
  padding:0 46px 0 0!important;
  overflow:visible;
  color:var(--navy);
  font-size:16px!important;
  font-weight:800;
  letter-spacing:0;
  line-height:38px;
  white-space:nowrap;
  text-overflow:clip;
  font-variant-numeric:tabular-nums;
}
.date-input-shell .date-display-input::placeholder{
  color:#7c8795;
  opacity:1;
  font-size:15px;
  font-weight:800;
}
.date-input-shell .date-picker-button{
  position:absolute;
  right:0;
  top:50%;
  width:36px;
  height:36px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f7f9fc;
  font-size:16px;
  line-height:1;
}
.booking-box input,.traveller-toggle span{font-size:17px}
@media(max-width:1120px) and (min-width:821px){
  .booking-fields{grid-template-columns:1fr 42px 1fr minmax(180px,.95fr) minmax(180px,.95fr)}
  .date-box{min-width:180px}
}
@media(max-width:820px){
  .date-box{min-width:0}
  .date-input-shell .date-display-input{font-size:17px!important;padding-right:48px!important}
}
/* v11.0.14 passenger error actions */
.message-action-button{margin-left:12px;border:1px solid #c4162a;background:#fff;color:#a10819;border-radius:7px;padding:8px 12px;font-weight:700;cursor:pointer}.booking-services-message[data-type="error"]{border:1px solid #efb8be;background:#fff2f3;color:#9e0b18}

/* v13.1.1 simplified primary contact */
.contact-details-simple{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.contact-details-simple .field{min-width:0}
.phone-input-group{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(180px,1.15fr);gap:10px}
.phone-input-group select,.phone-input-group input{width:100%;min-height:48px}
.phone-preview{display:block;margin-top:7px;color:#607086;font-size:12px;line-height:1.35}
@media(max-width:720px){.contact-details-simple{grid-template-columns:1fr}.phone-input-group{grid-template-columns:minmax(145px,.85fr) minmax(0,1.15fr)}}
@media(max-width:430px){.phone-input-group{grid-template-columns:1fr}.phone-input-group select{min-height:46px}}

/* v15.5.1 Round-trip result visibility */
.premium-flight-card.roundtrip-offer-card{grid-template-columns:170px minmax(420px,1fr) 190px;align-items:stretch}
.journey-results-stack{display:grid;gap:10px;min-width:0}
.journey-result-row{position:relative;padding:10px 12px 10px 82px;border:1px solid #e1e7ef;border-radius:12px;background:#fbfcfe}
.journey-result-row+.journey-result-row{background:#f7fbf8}
.journey-result-label{position:absolute;left:12px;top:12px;min-width:58px;padding:5px 7px;border-radius:7px;background:#0b2b58;color:#fff;font-size:10px;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.5px}
.journey-result-row:nth-child(2) .journey-result-label{background:#16824b}
.journey-result-row .route{margin:0;grid-template-columns:1fr minmax(80px,.65fr) 1fr}
.journey-result-row .time{font-size:22px}
@media(max-width:1000px){.premium-flight-card.roundtrip-offer-card{grid-template-columns:150px 1fr}.roundtrip-offer-card .journey-results-stack{grid-column:2}.roundtrip-offer-card .price{grid-column:1/-1}}
@media(max-width:700px){.premium-flight-card.roundtrip-offer-card{grid-template-columns:1fr}.roundtrip-offer-card .journey-results-stack{grid-column:auto}.journey-result-row{padding:46px 10px 10px}.journey-result-label{top:9px}.journey-result-row .route{grid-template-columns:1fr minmax(65px,.55fr) 1fr}.journey-result-row .time{font-size:19px}}

/* v15.5.3 round-trip two-step selector */
.roundtrip-selection-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;margin:0 0 14px;border:1px solid #c7d7ef;border-radius:14px;background:#eef5ff;color:#0b2853}.roundtrip-selection-banner strong{display:block;font-size:17px}.roundtrip-selection-banner span{display:block;margin-top:3px;color:#53657e;font-size:13px}.roundtrip-selection-banner.return-step{justify-content:flex-start}.roundtrip-selection-banner button{border:1px solid #0b2853;background:#fff;color:#0b2853;border-radius:9px;padding:10px 13px;font-weight:800;cursor:pointer}.roundtrip-leg-card .journey-result-label{display:none}@media(max-width:760px){.roundtrip-selection-banner{align-items:flex-start;flex-direction:column}.roundtrip-selection-banner.return-step{flex-direction:column}}


/* v15.5.4 combined round-trip fare cards */
.combined-roundtrip-card{margin-bottom:18px;border:1px solid #d7dee8;border-radius:12px;background:#fff;box-shadow:0 5px 18px rgba(12,38,75,.08);overflow:hidden}.combined-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border-bottom:1px solid #e2e7ef;background:#fff}.combined-airline{display:flex;align-items:center;gap:12px}.combined-airline .airline-logo{width:44px;height:44px;object-fit:contain}.combined-airline strong,.combined-airline span{display:block}.combined-airline strong{font-size:17px;color:#102541}.combined-airline span{font-size:12px;color:#69798e}.combined-fare{text-align:right}.combined-fare small{display:block;font-size:10px;color:#66758a}.combined-fare strong{display:inline-block;margin:3px 12px 0 0;font-size:25px;color:#c91b2b}.combined-fare .book-button{padding:10px 18px}.combined-trip-body{display:grid;grid-template-columns:1fr 1.15fr}.combined-outbound{padding:14px 16px;border-right:1px solid #dde4ee;background:#f9fbfd}.combined-returns{padding:8px 12px}.combined-leg-title{margin-bottom:10px;font-weight:800;color:#0c284f}.combined-leg-title span{font-weight:500;color:#66758a}.combined-leg-route{display:grid;grid-template-columns:1fr minmax(100px,.8fr) 1fr;align-items:center;gap:10px}.combined-leg-route>div:first-child{text-align:left}.combined-leg-route>div:last-child{text-align:right}.combined-leg-route strong,.combined-leg-route span{display:block}.combined-leg-route strong{font-size:22px;color:#102541}.combined-leg-route span{font-size:13px;color:#65758a}.combined-leg-line{text-align:center}.combined-leg-line small,.combined-leg-line span{font-size:11px;color:#44566f}.combined-leg-line i{display:block;height:2px;margin:5px 0;background:#b9c6d8;position:relative}.combined-leg-line i:after{content:'✈';position:absolute;right:-3px;top:-10px;color:#0d376c;font-style:normal}.return-choice{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:8px;padding:9px;border:1px solid transparent;border-radius:9px;cursor:pointer}.return-choice:hover,.return-choice.selected{border-color:#9db6dc;background:#f0f6ff}.return-choice input{width:18px;height:18px}.return-choice .combined-leg-title{display:none}.return-choice-price{font-weight:800;color:#c91b2b;white-space:nowrap}.combined-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;border-top:1px solid #e2e7ef;background:#f8fafc}.combined-card-foot span{font-size:12px;color:#65758a}
@media(max-width:850px){.combined-card-head{align-items:flex-start}.combined-trip-body{grid-template-columns:1fr}.combined-outbound{border-right:0;border-bottom:1px solid #dde4ee}.combined-fare strong{display:block;margin-right:0}.combined-card-foot{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.combined-card-head{flex-direction:column}.combined-fare{text-align:left}.combined-leg-route{grid-template-columns:1fr 80px 1fr}.combined-leg-route strong{font-size:18px}.return-choice{grid-template-columns:24px 1fr}.return-choice-price{grid-column:2}.combined-card-foot span{display:none}}

/* v15.5.6 selectable outbound and return alternatives */
.combined-trip-body.both-choices{grid-template-columns:1fr 1fr}
.combined-outbounds,.combined-returns{padding:8px 12px}
.combined-outbounds{border-right:1px solid #dde4ee;background:#f9fbfd}
.combined-column-title{padding:4px 8px 8px;font-size:13px;font-weight:900;color:#102541;text-transform:uppercase;letter-spacing:.04em}
.outbound-choice,.return-choice{display:grid;grid-template-columns:26px 1fr;align-items:center;gap:8px;padding:9px;border:1px solid transparent;border-radius:9px;cursor:pointer}
.outbound-choice:hover,.outbound-choice.selected,.return-choice:hover,.return-choice.selected{border-color:#9db6dc;background:#f0f6ff}
.outbound-choice input,.return-choice input{width:18px;height:18px}
.outbound-choice .combined-leg-title,.return-choice .combined-leg-title{display:none}
.return-choice.disabled{opacity:.42;cursor:not-allowed;background:#f4f5f7;border-color:transparent}
.return-choice.disabled:hover{border-color:transparent;background:#f4f5f7}
@media(max-width:850px){.combined-trip-body.both-choices{grid-template-columns:1fr}.combined-outbounds{border-right:0;border-bottom:1px solid #dde4ee}}

/* v16.0.5 — align one-way Book Now with round-trip action */
.premium-flight-card .one-way-book-now{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:110px;
  min-height:44px;
  padding:10px 18px;
  border:0;
  border-radius:0;
  background:var(--red);
  color:#fff;
  font-weight:800;
  line-height:1;
  text-align:center;
  cursor:pointer;
}
.premium-flight-card .one-way-book-now:hover,
.premium-flight-card .one-way-book-now:focus{
  background:#a91219;
  color:#fff;
}
.premium-flight-card .card-actions{
  justify-items:stretch;
}
.premium-flight-card .card-actions .one-way-book-now{
  justify-self:end;
}
@media(max-width:820px){
  .premium-flight-card .card-actions .one-way-book-now{
    justify-self:stretch;
    width:100%;
  }
}

/* v16.0.6 — place round-trip Book Now below flight choices */
.combined-card-foot{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.combined-card-foot .roundtrip-book-now{display:inline-flex;align-items:center;justify-content:center;min-width:110px;min-height:44px;padding:10px 18px;border:0;border-radius:0;background:var(--red);color:#fff;font-weight:800;line-height:1;text-align:center;text-decoration:none}
.combined-card-foot .roundtrip-book-now:hover,.combined-card-foot .roundtrip-book-now:focus{background:#a91219;color:#fff}
@media(max-width:850px){.combined-card-foot{grid-template-columns:1fr}.combined-card-foot .roundtrip-book-now{justify-self:stretch;width:100%}}

/* v16.0.7 — show flight numbers in round-trip departure/return choices */
.combined-flight-number{display:block;margin-top:3px;font-size:11px;font-style:normal;font-weight:800;color:#0d376c;letter-spacing:.2px}
