:root{--jv:#0C4476;--jv2:#527C9F;--light:#F5F5F5;--text:#444;--ink:#08162e}
.jvfs{--accent:var(--jvfs-accent,#0C4476);font-family:Inter,Roboto,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);max-width:1280px;margin:24px auto;background:#fff;border:1px solid #dce5eb;border-radius:18px;overflow:hidden;box-shadow:0 18px 55px rgba(8,22,46,.08)}
.jvfs *{box-sizing:border-box}.jvfs-topbar{display:flex;justify-content:space-between;align-items:center;padding:15px 22px;background:linear-gradient(120deg,var(--ink),var(--jv));color:#fff}.jvfs-brand{display:flex;align-items:center;gap:10px}.jvfs-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff;color:var(--jv);font-weight:900}.jvfs-logo-img{width:120px;height:44px;background:#fff;border-radius:8px;padding:5px;display:grid;place-items:center}.jvfs-logo-img img{max-width:100%;max-height:100%;object-fit:contain}.jvfs-brand span:not(.jvfs-mark):not(.jvfs-logo-img){display:block;font-size:7px;letter-spacing:1.2px;opacity:.65}.jvfs-brand b{font-size:13px}.jvfs-live{font-size:8px;font-weight:900;display:flex;align-items:center;gap:6px}.jvfs-live i{width:7px;height:7px;border-radius:50%;background:#5ed295;box-shadow:0 0 0 4px rgba(94,210,149,.16)}
.jvfs-steps{display:grid;grid-template-columns:repeat(6,1fr);padding:12px 22px;border-bottom:1px solid #e5edf2;background:#fff}.jvfs-steps span{position:relative;text-align:center;color:#91a0aa}.jvfs-steps span:not(:last-child):after{content:"";position:absolute;top:8px;left:55%;right:-45%;height:1px;background:#dbe4ea}.jvfs-steps i{display:block;width:17px;height:17px;margin:0 auto 4px;border:1px solid #c8d5de;border-radius:50%;background:#fff;position:relative;z-index:1}.jvfs-steps b{font-size:7px}.jvfs-steps .active{color:var(--jv)}.jvfs-steps .active i{background:var(--jv);border-color:var(--jv);box-shadow:0 0 0 4px rgba(12,68,118,.08)}.jvfs-steps .done i{background:#e8f5ef;border-color:#b8dcc8}
.jvfs-pagehead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:25px 28px;border-bottom:1px solid #e7edf1}.jvfs-pagehead span{font-size:7px;color:var(--jv);letter-spacing:1.2px;font-weight:900}.jvfs-pagehead h1{font-size:30px;letter-spacing:-.8px;margin:5px 0}.jvfs-pagehead p{font-size:10px;line-height:1.55;color:#6c7d89;max-width:760px;margin:0}.jvfs-pagehead a{font-size:8px;font-weight:900;color:var(--jv);text-decoration:none;background:#eef4f8;border-radius:999px;padding:8px 10px;white-space:nowrap}
.jvfs-footer{display:flex;justify-content:space-between;gap:15px;background:var(--ink);color:#fff;padding:10px 18px}.jvfs-footer span{font-size:8px;font-weight:900}.jvfs-footer b{font-size:7px;opacity:.6}
.jvfs-search{padding:22px 28px}.jvfs-search-tabs{display:flex;gap:6px;border-bottom:1px solid #e5ebef;margin-bottom:18px}.jvfs-search-tabs button{border:0;background:none;padding:8px 11px;font-weight:800;font-size:9px;color:#6e7e89;position:relative;cursor:pointer}.jvfs-search-tabs button.active{color:var(--jv)}.jvfs-search-tabs button.active:after{content:"";position:absolute;left:7px;right:7px;bottom:-1px;height:3px;background:var(--jv);border-radius:2px}
.jvfs-route-animation{height:80px;position:relative;margin:6px 0 18px;padding:0 60px}.jvfs-route-animation .jvfs-route-line{position:absolute;left:80px;right:80px;top:31px;height:2px;background:linear-gradient(90deg,var(--jv),var(--jv2));transform-origin:left;animation:jvDraw 1.3s ease both}.jvfs-route-animation .jvfs-plane{position:absolute;top:19px;left:78px;color:var(--jv);font-size:23px;animation:jvFly 3.8s ease-in-out infinite}.jvfs-route-animation .jvfs-dot{position:absolute;top:25px;width:14px;height:14px;border:4px solid #fff;border-radius:50%;background:var(--jv);box-shadow:0 0 0 2px var(--jv)}.jvfs-route-animation .origin{left:68px}.jvfs-route-animation .destination{right:68px;background:var(--jv2);box-shadow:0 0 0 2px var(--jv2)}.jvfs-route-origin,.jvfs-route-destination{position:absolute;top:51px;font-size:9px}.jvfs-route-origin{left:55px}.jvfs-route-destination{right:55px}@keyframes jvDraw{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes jvFly{0%{left:78px;transform:translateY(0) rotate(8deg)}50%{transform:translateY(-6px) rotate(8deg)}100%{left:calc(100% - 96px);transform:translateY(0) rotate(8deg)}}
.jvfs-slice{display:grid;grid-template-columns:1fr 38px 1fr 180px;gap:8px;align-items:end;margin-bottom:9px}.jvfs-slice label,.jvfs-options label,.jvfs-notes{display:block;border:1px solid #d7e1e8;border-radius:11px;padding:9px 11px;background:#fff;position:relative}.jvfs-slice label>span,.jvfs-options label>span,.jvfs-notes>span{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.5px;color:#718391;font-weight:900;margin-bottom:3px}.jvfs input,.jvfs select,.jvfs textarea{width:100%;border:0;outline:0;background:transparent;color:#213f55;font-weight:700;font-size:10px}.jvfs-swap{width:38px;height:38px;border:1px solid #d5dfe6;border-radius:50%;background:#fff;color:var(--jv);font-size:18px;cursor:pointer}.jvfs-remove{border:0;background:none;color:#9c3a3a;font-size:8px}.jvfs-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.jvfs-link{border:0;background:none;color:var(--jv);font-weight:900;font-size:8px;cursor:pointer;text-decoration:none}.jvfs-add{margin:5px 0 10px}.jvfs-return-wrap[hidden]{display:none!important}
.jvfs-autocomplete{display:none;position:absolute;z-index:20;top:100%;left:0;right:0;background:#fff;border:1px solid #d9e2e8;border-radius:10px;box-shadow:0 14px 32px rgba(8,22,46,.12);overflow:hidden}.jvfs-autocomplete.show{display:block}.jvfs-autocomplete button{display:grid;grid-template-columns:28px 1fr;width:100%;border:0;border-bottom:1px solid #eef2f5;background:#fff;text-align:left;padding:9px 10px;cursor:pointer}.jvfs-autocomplete button:hover{background:#f5f8fa}.jvfs-autocomplete button>span{font-size:18px}.jvfs-autocomplete b{font-size:9px}.jvfs-autocomplete em{font-style:normal;color:#fff;background:var(--jv);padding:2px 4px;border-radius:4px}.jvfs-autocomplete small{display:block;font-size:7px;color:#758692;margin-top:2px}
.jvfs-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.jvfs-trust-grid>div{background:#f6f8fa;border:1px solid #e2e9ee;border-radius:10px;padding:11px}.jvfs-trust-grid span{font-size:7px;color:var(--jv);font-weight:900}.jvfs-trust-grid b{display:block;font-size:9px;margin:4px 0}.jvfs-trust-grid small{font-size:7px;color:#748591}.jvfs-search-actions,.jvfs-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px}.jvfs-search-actions p{font-size:8px;color:#758692;margin:0}.jvfs-primary,.jvfs-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:9px;padding:10px 13px;font-size:9px;font-weight:900;text-decoration:none!important;cursor:pointer}.jvfs-primary{border:0;background:var(--jv);color:#fff!important;box-shadow:0 8px 18px rgba(12,68,118,.15)}.jvfs-secondary{border:1px solid #ccd7df;background:#fff;color:#304f65!important}.jvfs-error,.jvfs-warning{padding:10px 12px;border-radius:8px;margin-top:10px;font-size:8px}.jvfs-error{background:#fff0f0;color:#8c3434}.jvfs-warning{background:#fff7e8;color:#765d29}.jvfs-live-ok{padding:8px 10px;background:#eaf7f0;color:#2b704f;border-radius:8px;font-size:8px;margin-bottom:9px}.jvfs-loader,.jvfs-empty{padding:28px;text-align:center;color:#71818d;background:#fff}
.jvfs-routebar,.jvfs-toolbar,.jvfs-sharebar{padding:12px 18px;border-bottom:1px solid #e1e8ed;background:#fff;display:flex;justify-content:space-between;gap:10px;align-items:center}.jvfs-route-summary b{display:block;font-size:13px}.jvfs-route-summary span{display:block;font-size:8px;color:#72838f}.jvfs-toolbar>div{display:flex;gap:5px}.jvfs-toolbar button{border:1px solid #d9e2e8;background:#fff;border-radius:999px;padding:6px 9px;font-size:8px;cursor:pointer}.jvfs-toolbar button.active{background:var(--jv);color:#fff;border-color:var(--jv)}.jvfs-toolbar label{font-size:8px}.jvfs-toolbar select{width:auto}
.jvfs-results{background:#f3f6f8;padding:16px}.jvfs-result{display:grid;grid-template-columns:185px 1fr 185px;gap:16px;align-items:center;background:#fff;border:1px solid #dbe4ea;border-radius:13px;padding:17px;margin-bottom:10px;box-shadow:0 5px 15px rgba(8,22,46,.04)}.jvfs-carrier{display:flex;gap:9px;align-items:center}.jvfs-airline-logo{width:50px;height:50px;display:grid;place-items:center;border:1px solid #e0e7ec;border-radius:9px;background:#fff;padding:6px}.jvfs-airline-logo img{max-width:100%;max-height:100%;object-fit:contain}.jvfs-airline-logo b{font-size:9px;color:var(--jv)}.jvfs-carrier>div>b{display:block;font-size:10px}.jvfs-carrier small{display:block;font-size:7px;color:#748591;margin-top:2px}.jvfs-slice-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:center;margin-bottom:6px}.jvfs-slice-summary>div:first-child{text-align:left}.jvfs-slice-summary>div:last-child{text-align:right}.jvfs-slice-summary strong{display:block;font-size:15px}.jvfs-slice-summary span{font-size:9px;font-weight:900}.jvfs-slice-summary small{display:block;font-size:7px;color:#788894}.jvfs-mini-route{position:relative;height:42px;text-align:center}.jvfs-mini-route>span{position:absolute;left:6px;right:6px;top:17px;height:1px;background:#aabcc8}.jvfs-mini-route>i{position:relative;z-index:1;display:inline-block;background:#fff;color:var(--jv);padding:5px;font-style:normal;animation:jvFloat 2.4s ease-in-out infinite}.jvfs-mini-route small{margin-top:2px}@keyframes jvFloat{50%{transform:translateY(-3px)}}.jvfs-tags{display:flex;gap:5px;flex-wrap:wrap}.jvfs-tags span{background:#f2f5f7;border-radius:999px;padding:4px 7px;font-size:7px}.jvfs-price{text-align:right;border-left:1px solid #edf1f3;padding-left:14px}.jvfs-price small{font-size:7px;color:#748591}.jvfs-price strong{display:block;font-size:22px;margin:3px 0 8px}
.jvfs-sharebar{justify-content:flex-start;flex-wrap:wrap}.jvfs-sharebar .jvfs-share-status{margin-left:auto;font-size:7px;color:#71828e}.jvfs-itinerary{background:#f4f6f8;padding:16px}.jvfs-magazine{background:#fff;border:1px solid #dce4ea;box-shadow:0 8px 22px rgba(8,22,46,.05)}.jvfs-mag-cover{min-height:420px;padding:42px;background:linear-gradient(130deg,var(--ink),var(--jv));color:#fff;position:relative;overflow:hidden}.jvfs-mag-cover:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-120px;top:-80px;border:1px solid rgba(255,255,255,.12)}.jvfs-mag-brand{font-size:18px;font-weight:900;letter-spacing:1.5px}.jvfs-mag-cover>span{font-size:8px;letter-spacing:2px;opacity:.65}.jvfs-mag-cover h1{font-size:42px;max-width:760px;line-height:1.05;margin:70px 0 8px}.jvfs-mag-cover p{font-size:12px;opacity:.75}.jvfs-mag-cover strong{display:block;font-size:28px;margin-top:45px}.jvfs-mag-cover small{font-size:8px;opacity:.65}.jvfs-mag-cover-route{position:absolute;left:42px;right:42px;bottom:115px;height:36px}.jvfs-mag-cover-route span{position:absolute;left:0;right:0;top:17px;height:1px;background:rgba(255,255,255,.3)}.jvfs-mag-cover-route i{position:absolute;left:0;top:3px;font-size:22px;font-style:normal;animation:jvMagFly 5s ease-in-out infinite}@keyframes jvMagFly{0%{left:0}100%{left:calc(100% - 30px)}}.jvfs-mag-page{padding:35px 38px;border-top:1px solid #e7edf1}.jvfs-mag-kicker{font-size:7px;color:var(--jv);font-weight:900;letter-spacing:1.5px}.jvfs-mag-page h2{font-size:26px;letter-spacing:-.5px;margin:7px 0 22px}.jvfs-mag-journey{display:grid;grid-template-columns:55px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #e9eef1}.jvfs-mag-journey>b{font-size:23px;color:#b9c5cc}.jvfs-mag-journey h3{margin:0;font-size:14px}.jvfs-mag-journey p{margin:4px 0;font-size:8px;color:#758692}.jvfs-mag-slice{margin-bottom:22px}.jvfs-mag-slice>h3{font-size:13px}.jvfs-segment{display:grid;grid-template-columns:78px 35px 1fr;gap:9px;padding:13px 0}.jvfs-segment-time b{display:block;font-size:13px}.jvfs-segment-time span{font-size:7px;color:#758692}.jvfs-segment-route{position:relative}.jvfs-segment-route .line{position:absolute;left:16px;top:8px;bottom:8px;width:2px;background:var(--jv);transform-origin:top;animation:jvVertical 1.2s ease both}@keyframes jvVertical{from{transform:scaleY(0)}to{transform:scaleY(1)}}.jvfs-segment-route .dot{position:absolute;left:11px;top:4px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--jv);z-index:2}.jvfs-segment-route .dot.end{top:auto;bottom:4px}.jvfs-segment-route .plane{position:absolute;left:5px;top:36%;z-index:3;background:#fff;color:var(--jv);font-size:15px;animation:jvSegPlane 2.8s ease-in-out infinite}@keyframes jvSegPlane{50%{top:55%}}.jvfs-segment-airline{display:flex;gap:8px;align-items:center}.jvfs-segment-airline .jvfs-airline-logo{width:38px;height:38px}.jvfs-segment-airline h4{font-size:11px;margin:0}.jvfs-segment-airline p{font-size:7px;color:#758692;margin:2px 0}.jvfs-airports{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.jvfs-airports>div{background:#f6f8fa;padding:8px;border-radius:7px}.jvfs-airports b{display:block;font-size:8px}.jvfs-airports span{font-size:7px;color:#758692}.jvfs-facts{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.jvfs-facts span{background:#f2f5f7;padding:4px 6px;border-radius:5px;font-size:7px}.jvfs-mag-rulegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.jvfs-mag-rulegrid>div{background:#f5f7f8;padding:10px;border-radius:7px}.jvfs-mag-rulegrid span{display:block;font-size:7px;color:#71828e;text-transform:uppercase}.jvfs-mag-rulegrid b{display:block;font-size:8px;line-height:1.4;margin-top:4px}.jvfs-mag-notes{margin-top:12px;border-left:3px solid var(--jv);padding:10px 12px;background:#f7f9fb}.jvfs-mag-notes p{font-size:8px;line-height:1.5;margin:0 0 5px}.jvfs-mag-back{padding:70px 38px;background:var(--light);min-height:260px}.jvfs-mag-back>div{font-size:8px;color:var(--jv);font-weight:900;letter-spacing:1.5px}.jvfs-mag-back h2{font-size:30px;margin:25px 0 8px}.jvfs-mag-back p{font-size:9px;color:#6e7f8b}
.jvfs-fare-route{padding:12px 18px;border-bottom:1px solid #e2e9ee}.jvfs-route-card{display:flex;align-items:center;gap:9px}.jvfs-route-card b{display:block;font-size:12px}.jvfs-route-card span{font-size:8px;color:#748591}.jvfs-fares{background:#f3f6f8;padding:16px}.jvfs-fare-count{background:#eef4f8;border-left:3px solid var(--jv);padding:10px 12px;margin-bottom:10px}.jvfs-fare-count b{display:block;font-size:9px}.jvfs-fare-count span{font-size:8px;color:#71828e}.jvfs-fare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.jvfs-fare{background:#fff;border:1px solid #dce4e9;border-radius:12px;overflow:hidden}.jvfs-fare-head{padding:15px;border-bottom:1px solid #e8edf0}.jvfs-fare-head .jvfs-airline-logo{margin-bottom:8px}.jvfs-fare-head>span{font-size:7px;color:var(--jv);font-weight:900}.jvfs-fare-head h3{font-size:15px;margin:4px 0}.jvfs-fare-head strong{font-size:22px}.jvfs-fare-section{padding:11px 13px;border-bottom:1px solid #edf1f3}.jvfs-fare-section h4{font-size:8px;text-transform:uppercase;letter-spacing:.5px;color:#607484;margin:0 0 6px}.jvfs-fare-section dl{margin:0}.jvfs-fare-section dl>div{display:grid;grid-template-columns:95px 1fr;gap:7px;padding:4px 0}.jvfs-fare-section dt{font-size:7px;color:#768792}.jvfs-fare-section dd{margin:0;font-size:8px;font-weight:700;line-height:1.4}.jvfs-fare-note{font-size:7px;line-height:1.4;padding:9px 12px;background:#fff8e8;color:#765f2d}.jvfs-fare .jvfs-primary{margin:12px;width:calc(100% - 24px)}
.jvfs-booking-summary,.jvfs-booking-form,.jvfs-request-confirm{padding:16px;background:#f3f6f8}.jvfs-booking-card{display:flex;justify-content:space-between;gap:15px;align-items:center;background:#fff;border:1px solid #dce4e9;border-radius:10px;padding:13px}.jvfs-booking-card span{display:block;font-size:7px;color:#71828e}.jvfs-booking-card b{display:block;font-size:11px}.jvfs-booking-card small{font-size:8px;color:#758692}.jvfs-booking-card strong{font-size:21px}.jvfs-desk-note{margin-top:8px;background:#fff;border-left:4px solid var(--jv);padding:10px 12px}.jvfs-desk-note b{font-size:9px}.jvfs-desk-note span{display:block;font-size:8px;color:#71828e;line-height:1.45;margin-top:3px}.jvfs-passenger{background:#fff;border:1px solid #dce4e9;border-radius:10px;padding:13px;margin-bottom:10px}.jvfs-passenger-head{display:flex;justify-content:space-between;border-bottom:1px solid #edf1f3;padding-bottom:7px;margin-bottom:10px}.jvfs-passenger-head span{font-size:8px;color:var(--jv);font-weight:900}.jvfs-passenger-head b{font-size:8px;text-transform:capitalize}.jvfs-passenger-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.jvfs-passenger-grid label,.jvfs-notes{border:1px solid #d8e1e7;border-radius:8px;padding:8px}.jvfs-passenger-grid label>span{display:block;font-size:7px;color:#71828e;text-transform:uppercase}.jvfs-consent{display:flex;gap:8px;align-items:flex-start;background:#fff;border:1px solid #dce4e9;border-radius:8px;padding:10px;margin-top:9px}.jvfs-consent input{width:auto}.jvfs-consent span{font-size:8px;line-height:1.45}.jvfs-hp{position:absolute!important;left:-10000px!important}
.jvfs-request-card{background:#fff;border:1px solid #dce4e9;border-top:4px solid var(--jv);border-radius:12px;padding:28px;text-align:center}.jvfs-check{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 8px;border-radius:50%;background:#e8f6ef;color:#27704e;font-size:20px}.jvfs-request-card>small{font-size:7px;color:var(--jv);font-weight:900;letter-spacing:1px}.jvfs-request-card h2{font-size:24px;margin:6px 0}.jvfs-request-card>p{font-size:9px;color:#71828e}.jvfs-request-ref{max-width:500px;margin:18px auto;background:var(--ink);color:#fff;border-radius:9px;padding:13px}.jvfs-request-ref span{display:block;font-size:7px;opacity:.6}.jvfs-request-ref b{font-size:25px;letter-spacing:1px}.jvfs-request-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.jvfs-request-grid>div{background:#f5f7f8;padding:9px;text-align:left;border-radius:7px}.jvfs-request-grid span{display:block;font-size:7px;color:#71828e}.jvfs-request-grid b{font-size:8px}.jvfs-request-card .jvfs-warning{margin:14px auto;max-width:760px;text-align:left}.jvfs-request-card .jvfs-warning b,.jvfs-request-card .jvfs-warning span{display:block;font-size:8px}
@media(max-width:900px){.jvfs-options{grid-template-columns:repeat(3,1fr)}.jvfs-result{grid-template-columns:160px 1fr}.jvfs-price{grid-column:1/-1;border-left:0;border-top:1px solid #edf1f3;padding:10px 0 0}.jvfs-fare-grid{grid-template-columns:1fr 1fr}.jvfs-mag-rulegrid{grid-template-columns:1fr 1fr}.jvfs-passenger-grid{grid-template-columns:1fr 1fr}.jvfs-request-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.jvfs{margin:0;border-radius:0}.jvfs-topbar,.jvfs-pagehead,.jvfs-footer{display:block}.jvfs-live{margin-top:8px}.jvfs-steps{padding:10px 8px}.jvfs-steps b{display:none}.jvfs-pagehead{padding:18px 14px}.jvfs-pagehead h1{font-size:25px}.jvfs-pagehead a{display:inline-block;margin-top:8px}.jvfs-search{padding:16px 12px}.jvfs-slice{grid-template-columns:1fr 36px 1fr}.jvfs-slice>label:last-of-type{grid-column:1/-1}.jvfs-options{grid-template-columns:1fr 1fr}.jvfs-trust-grid{grid-template-columns:1fr 1fr}.jvfs-result{grid-template-columns:1fr}.jvfs-sharebar{display:grid;grid-template-columns:1fr 1fr}.jvfs-sharebar .jvfs-share-status{grid-column:1/-1;margin-left:0}.jvfs-mag-cover{padding:28px 20px;min-height:360px}.jvfs-mag-cover h1{font-size:31px;margin-top:55px}.jvfs-mag-page{padding:26px 18px}.jvfs-fare-grid{grid-template-columns:1fr}.jvfs-passenger-grid,.jvfs-request-grid{grid-template-columns:1fr}.jvfs-route-animation{padding:0 25px}.jvfs-route-animation .origin{left:25px}.jvfs-route-animation .destination{right:25px}.jvfs-route-animation .jvfs-route-line{left:38px;right:38px}.jvfs-route-animation .jvfs-plane{left:36px}.jvfs-route-origin{left:15px}.jvfs-route-destination{right:15px}}
@media(prefers-reduced-motion:reduce){.jvfs *{animation:none!important;transition:none!important}}
/* ==========================================================
   V13 SCREENSHOT-REFERENCED AIRLINE COMMERCE UX
   Inspired by the attached Air India booking screenshots.
   Original JainVoyagers implementation and brand palette.
   ========================================================== */
.jvfs{--ai-bg:#f7f6f2;--ai-card:#fff;--ai-line:#e4e1da;--ai-soft:#f2f1ed;--ai-accent:#0C4476;--ai-accent2:#527C9F;--ai-ink:#08162e;--ai-muted:#6f7880;background:#f6f5f1}
.jvfs-pagehead{background:#fff;padding:18px 26px}.jvfs-pagehead h1{font-size:27px}.jvfs-pagehead p{max-width:850px}
.jvfs-ai-search{padding:20px 25px 24px;background:#f8f7f4}
.jvfs-ai-product-tabs{display:flex;align-items:center;gap:22px;border-bottom:1px solid #e5e2dc;margin-bottom:12px}.jvfs-ai-product-tabs button{border:0;background:#eef3f7;color:#0C4476;padding:9px 14px;font-size:8px;font-weight:900;text-transform:uppercase}.jvfs-ai-product-tabs span{font-size:8px;color:#76818a}
.jvfs-ai-search-row{display:grid;grid-template-columns:1.15fr 38px 1.15fr .72fr .72fr .85fr .85fr .7fr 105px;align-items:stretch;background:#fff;border:1px solid #e1dfd8;border-radius:13px;padding:10px 11px;box-shadow:0 6px 18px rgba(8,22,46,.05);position:relative}
.jvfs-ai-search-row>div,.jvfs-ai-search-row>label,.jvfs-ai-search-row>button:not(.jvfs-swap):not(.jvfs-search-btn){border-right:1px solid #e8e5df;padding:7px 12px}
.jvfs-ai-search-row>label{display:flex;flex-direction:column;justify-content:center}.jvfs-ai-search-row span{font-size:7px;color:#707981}
.jvfs-ai-airport-cell{position:relative;overflow:visible}.jvfs-ai-airport-cell input{position:absolute;inset:0;width:100%;opacity:0;cursor:text}.jvfs-ai-airport-cell>strong{display:block;font-size:29px;line-height:1;color:#0C4476;letter-spacing:-1px;margin-top:2px}.jvfs-ai-airport-cell>small{display:block;font-size:8px;color:#4f5960;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jvfs-ai-airport-cell:focus-within{background:#f4f8fb}
.jvfs-ai-search-row .jvfs-swap{align-self:center;border:0;background:none;color:#0C4476;font-weight:900}
.jvfs-ai-date-cell .jvfs-date-button,.jvfs-ai-traveller-trigger{border:0;background:transparent;text-align:left;padding:0;color:#1e2d38;font-size:9px;font-weight:700;cursor:pointer}.jvfs-ai-date-cell .jvfs-date-button{margin-top:4px}.jvfs-ai-traveller-trigger b{display:block;margin-top:4px;font-size:9px}.jvfs-ai-control select{margin-top:4px;font-size:9px}.jvfs-ai-search-row .jvfs-search-btn{align-self:center;height:40px;border-radius:6px;box-shadow:none}
.jvfs-ai-traveller-popover{position:absolute;z-index:31;top:145px;right:260px;width:270px;background:#fff;border:1px solid #dedbd5;border-radius:10px;box-shadow:0 16px 36px rgba(8,22,46,.15);padding:10px 14px}.jvfs-ai-traveller-popover>div{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #eee}.jvfs-ai-traveller-popover span{font-size:9px;font-weight:800}.jvfs-ai-traveller-popover small{display:block;font-size:7px;color:#88929a}.jvfs-ai-traveller-popover>div>div{display:flex;align-items:center;gap:9px}.jvfs-ai-traveller-popover button{width:26px;height:26px;border:1px solid #ccd4da;background:#fff;border-radius:5px;color:#0C4476;font-size:16px}
.jvfs-ai-recent-routes{display:flex;gap:7px;align-items:center;margin:10px 0 0}.jvfs-ai-recent-routes>span{font-size:7px;color:#7b848b}.jvfs-ai-recent-routes button{border:1px solid #dddcd6;border-radius:999px;background:#fff;padding:5px 9px;font-size:7px;color:#384b59}
.jvfs-route-animation{margin-top:12px;height:55px}.jvfs-route-animation .jvfs-route-line{top:22px}.jvfs-route-animation .jvfs-plane{top:10px}.jvfs-route-animation .jvfs-dot{top:16px}.jvfs-route-origin,.jvfs-route-destination{top:40px}
.jvfs-calendar-modal{position:fixed;z-index:99999;inset:0;background:rgba(8,22,46,.30);display:grid;place-items:center;padding:20px}.jvfs-calendar-modal[hidden]{display:none!important}.jvfs-calendar-panel{width:min(1000px,95vw);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(8,22,46,.25)}.jvfs-calendar-head,.jvfs-calendar-toolbar,.jvfs-calendar-foot{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid #ebe8e1}.jvfs-calendar-head span{font-size:8px;color:#0C4476;font-weight:900}.jvfs-calendar-head b{display:block;font-size:13px;margin-top:3px}.jvfs-calendar-close{border:0;background:none;font-size:24px;color:#65717a}.jvfs-calendar-toolbar button{border:0;background:#f2f4f6;width:32px;height:32px;border-radius:50%;font-size:20px;color:#0C4476}.jvfs-cal-info{font-size:8px;color:#76818a}.jvfs-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:20px 28px}.jvfs-calendar-month h4{text-align:center;font-size:12px}.jvfs-weekdays,.jvfs-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.jvfs-weekdays span{text-align:center;font-size:7px;color:#7b858d;padding:5px}.jvfs-days button,.jvfs-days .empty{height:38px}.jvfs-days button{border:0;background:#fff;border-radius:5px;font-size:9px;color:#293b48;cursor:pointer}.jvfs-days button:hover{background:#eef4f7}.jvfs-days button.selected{background:#0C4476;color:#fff}.jvfs-days button:disabled{color:#c7cdd1}.jvfs-calendar-foot{border-top:1px solid #ebe8e1;border-bottom:0}.jvfs-calendar-foot>span{font-size:7px;color:#7c868d}.jvfs-calendar-foot>div{display:flex;gap:7px}

.jvfs-ai-results-head{display:flex;justify-content:space-between;align-items:center;padding:18px 25px 12px;background:#fff}.jvfs-ai-results-head h2{font-size:23px;margin:0 0 4px}.jvfs-date-strip{display:grid;grid-template-columns:repeat(7,1fr);padding:0 25px 14px;background:#fff;border-bottom:1px solid #e3e1db}.jvfs-date-strip button{border:0;background:#fff;padding:9px 5px;border-bottom:2px solid transparent}.jvfs-date-strip button span{display:block;font-size:7px;color:#606970}.jvfs-date-strip button b{display:block;font-size:8px;margin-top:4px}.jvfs-date-strip button.active{border-bottom-color:#0C4476;color:#0C4476}.jvfs-ai-service-strip{display:flex;gap:18px;padding:11px 25px;background:#f7f4ea;border-bottom:1px solid #e6e1d4}.jvfs-ai-service-strip span{font-size:9px;font-weight:900;color:#0C4476}.jvfs-ai-service-strip b{font-size:7px;color:#68737b}.jvfs-ai-result-columns{display:grid;grid-template-columns:1fr 210px 180px;padding:9px 25px;background:#fff;border-bottom:1px solid #e2dfd9}.jvfs-ai-result-columns span{font-size:7px;text-transform:uppercase;color:#7a838a;text-align:center}.jvfs-ai-result-columns span:first-child{text-align:left}
.jvfs-results{padding:0 25px 22px;background:#f7f6f2}.jvfs-ai-flight-row{display:grid;grid-template-columns:1fr 210px 180px;background:#fff;border:1px solid #e1ded7;border-top:0;min-height:120px}.jvfs-ai-flight-main{display:grid;grid-template-columns:120px 95px 1fr 95px 80px;gap:10px;align-items:center;padding:16px}.jvfs-ai-flight-no{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.jvfs-ai-flight-no .jvfs-airline-logo{width:32px;height:32px}.jvfs-ai-flight-no>span{font-size:8px;font-weight:800}.jvfs-ai-flight-no>small{grid-column:1/-1;font-size:6px;color:#7d868d}.jvfs-ai-time strong{display:block;font-size:17px}.jvfs-ai-time b{display:block;font-size:9px}.jvfs-ai-time small{font-size:7px;color:#7a838a}.jvfs-ai-time.end{text-align:right}.jvfs-ai-flight-line{position:relative;text-align:center;height:62px}.jvfs-ai-flight-line>span{position:absolute;left:8px;right:8px;top:25px;height:1px;background:#aeb8bf}.jvfs-ai-flight-line>i{position:relative;top:14px;background:#fff;color:#0C4476;padding:4px;font-style:normal}.jvfs-ai-flight-line>b,.jvfs-ai-flight-line>small{display:block;position:relative;top:19px;font-size:7px}.jvfs-ai-details{font-size:7px}.jvfs-ai-cabin-cell,.jvfs-ai-fare-cell{border-left:1px solid #e7e4de;padding:18px 14px;display:flex;flex-direction:column;justify-content:center;text-align:center}.jvfs-ai-cabin-cell>span{font-size:9px;font-weight:900}.jvfs-ai-cabin-cell>small{font-size:7px;color:#747e86;margin-top:4px}.jvfs-ai-fare-cell>small{font-size:7px;color:#747e86}.jvfs-ai-fare-cell>strong{font-size:16px;margin:4px 0 10px}

.jvfs-ai-included{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:12px 18px;background:#fff;border-bottom:1px solid #e1ded7}.jvfs-ai-included h3{font-size:12px;margin:0;color:#0C4476}.jvfs-ai-included span{font-size:7px;color:#5f6a72}.jvfs-fares{background:#f7f6f2}.jvfs-fare-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:0;border:1px solid #e1ded7}.jvfs-fare{border:0;border-right:1px solid #e1ded7;border-radius:0;position:relative}.jvfs-fare.recommended{background:#fbfcfd}.jvfs-recommended{position:absolute;right:10px;top:-11px;background:#0C4476;color:#fff;font-size:6px;padding:5px 8px;border-radius:4px;font-weight:900}.jvfs-fare-head{padding:20px 17px}.jvfs-fare-head h3{font-size:13px;text-transform:uppercase}.jvfs-fare-head strong{font-size:16px}.jvfs-fare-section{padding:12px 17px}.jvfs-fare-section h4{font-size:7px}.jvfs-fare-section dl>div{grid-template-columns:100px 1fr}.jvfs-fare-note{min-height:50px}

.jvfs-ai-booking-steps{display:grid;grid-template-columns:repeat(3,1fr);padding:12px 20px;background:#fff;border-bottom:1px solid #e4e1db}.jvfs-ai-booking-steps span{display:flex;align-items:center;gap:8px;font-size:8px;font-weight:900;color:#7d858c;position:relative}.jvfs-ai-booking-steps span:not(:last-child):after{content:"··············";position:absolute;right:12px;color:#c8c8c4;letter-spacing:2px}.jvfs-ai-booking-steps i{display:grid;place-items:center;width:26px;height:26px;border:1px solid #cfd5d9;border-radius:6px;font-style:normal}.jvfs-ai-booking-steps .active{color:#0C4476}.jvfs-ai-booking-steps .active i{background:#0C4476;color:#fff;border-color:#0C4476}
.jvfs-ai-booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;padding:20px 25px;background:#f7f6f2}.jvfs-ai-booking-layout main>h2{font-size:18px;margin:4px 0 12px;text-transform:uppercase}.jvfs-ai-info,.jvfs-ai-passenger-info{background:#eaf2f8;color:#3e637d;padding:9px 11px;font-size:8px;border-radius:4px}.jvfs-booking-form{padding:0;background:transparent;margin-top:10px}.jvfs-passenger{border-radius:8px;padding:0;overflow:hidden}.jvfs-passenger-head{padding:12px 15px;margin:0;background:#fff}.jvfs-passenger-head>div{display:flex;gap:8px;align-items:center}.jvfs-passenger-head>div>span{font-size:10px;color:#1b2d3a}.jvfs-passenger-head>div>b{background:#eaf0f8;color:#0C4476;padding:4px 8px;border-radius:4px}.jvfs-ai-passenger-info{margin:10px 14px}.jvfs-passenger-grid{padding:0 14px 15px}.jvfs-ai-basic-fields{grid-template-columns:.65fr 1.3fr 1fr 1fr}.jvfs-ai-basic-fields .wide{grid-column:auto}.jvfs-passenger-grid label{border:1px solid #bfc7cd;border-radius:5px;background:#fff;min-height:57px}.jvfs-ai-doc-title{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-top:1px solid #eee;font-size:8px}.jvfs-ai-doc-title b{background:#e8eef8;color:#0C4476;border-radius:4px;padding:4px 6px}.jvfs-ai-doc-fields{grid-template-columns:1.2fr .7fr .8fr}.jvfs-ai-booking-sidebar{position:sticky;top:20px;align-self:start;background:#fff;border:1px solid #e1ded7;border-radius:8px;overflow:hidden}.jvfs-ai-booking-sidebar>h3{font-size:12px;text-transform:uppercase;padding:14px 16px;margin:0;border-bottom:1px solid #e7e4de}.jvfs-booking-summary{padding:0;background:#fff}.jvfs-ai-side-flight{padding:14px 16px}.jvfs-ai-side-flight>div{display:flex;align-items:center;gap:8px}.jvfs-ai-side-flight .jvfs-airline-logo{width:28px;height:28px}.jvfs-ai-side-flight>section{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;align-items:center;margin-top:10px}.jvfs-ai-side-flight section>div:last-child{text-align:right}.jvfs-ai-side-flight strong{display:block;font-size:14px}.jvfs-ai-side-flight b{display:block;font-size:8px}.jvfs-ai-side-flight small{font-size:6px;color:#7b848b}.jvfs-ai-side-line{position:relative;text-align:center}.jvfs-ai-side-line span{display:block;height:1px;background:#aeb8bf}.jvfs-ai-side-line small{display:block;margin-top:5px}.jvfs-ai-side-flight>p{font-size:8px;color:#65717a}.jvfs-ai-side-passengers{padding:12px 16px;border-top:1px solid #eee}.jvfs-ai-side-passengers b{display:block;font-size:9px}.jvfs-ai-side-passengers span{font-size:7px;color:#69747c;line-height:1.6}.jvfs-ai-summary-links{padding:10px 16px;border-top:1px solid #eee}.jvfs-ai-summary-links span{display:block;text-align:right;color:#0C4476;font-size:8px;padding:3px 0}.jvfs-ai-summary-total{padding:14px 16px;border-top:1px solid #e7e4de}.jvfs-ai-summary-total>span{font-size:9px}.jvfs-ai-summary-total>strong{float:right;font-size:18px;color:#0C4476}.jvfs-ai-summary-total small{display:block;clear:both;font-size:7px;color:#7a848b;padding-top:5px}

@media(max-width:1100px){.jvfs-ai-search-row{grid-template-columns:1fr 34px 1fr .75fr .75fr}.jvfs-ai-search-row .jvfs-ai-traveller-trigger,.jvfs-ai-search-row .jvfs-ai-control,.jvfs-ai-search-row .jvfs-search-btn{grid-row:2}.jvfs-ai-traveller-popover{right:20px;top:220px}.jvfs-ai-booking-layout{grid-template-columns:1fr}.jvfs-ai-booking-sidebar{position:static}.jvfs-ai-basic-fields{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.jvfs-ai-search-row{display:grid;grid-template-columns:1fr 34px 1fr;padding:8px}.jvfs-ai-airport-cell>strong{font-size:24px}.jvfs-ai-search-row .jvfs-ai-date-cell,.jvfs-ai-search-row .jvfs-ai-traveller-trigger,.jvfs-ai-search-row .jvfs-ai-control,.jvfs-ai-search-row .jvfs-search-btn{grid-column:auto;grid-row:auto;border-top:1px solid #eee}.jvfs-calendar-months{grid-template-columns:1fr}.jvfs-date-strip{overflow:auto;grid-template-columns:repeat(7,120px);padding-left:12px;padding-right:12px}.jvfs-ai-flight-row{grid-template-columns:1fr}.jvfs-ai-flight-main{grid-template-columns:1fr 1fr 1fr;gap:8px}.jvfs-ai-flight-no{grid-column:1/-1}.jvfs-ai-flight-line{grid-column:2}.jvfs-ai-details{grid-column:1/-1}.jvfs-ai-cabin-cell,.jvfs-ai-fare-cell{border-left:0;border-top:1px solid #eee}.jvfs-ai-result-columns{display:none}.jvfs-ai-booking-steps span:not(:last-child):after{display:none}.jvfs-ai-basic-fields,.jvfs-ai-doc-fields{grid-template-columns:1fr}.jvfs-ai-service-strip{overflow:auto}.jvfs-ai-recent-routes{overflow:auto}.jvfs-ai-search-row>div,.jvfs-ai-search-row>label,.jvfs-ai-search-row>button:not(.jvfs-swap):not(.jvfs-search-btn){border-right:0}}


/* V14 PAGE/ROUTING STABILITY + PLAIN LHR DEFAULT */
.jvfs-ai-airport-cell input[value="LHR"]{font-size:0}
.jvfs-ai-airport-cell:focus-within input{opacity:1;font-size:11px;background:#fff;padding:12px;z-index:4}
.jvfs-ai-airport-cell:focus-within>strong,.jvfs-ai-airport-cell:focus-within>small{opacity:.18}
.jvfs-ai-search-row{overflow:visible}
.jvfs-ai-airport-cell .jvfs-autocomplete{z-index:50}
.jvfs-pagehead,.jvfs-topbar,.jvfs-steps,.jvfs-footer{position:relative;z-index:1}


/* V14.1 RESULTS -> ITINERARY SELECTION FIX */
.jvfs-ai-flight-row .jvfs-primary:disabled,
.jvfs-ai-flight-row .jvfs-ai-details:disabled{opacity:.62;cursor:wait}
.jvfs-result-error{margin:0 0 10px!important}
.jvfs-ai-flight-row{transition:border-color .15s ease,box-shadow .15s ease}
.jvfs-ai-flight-row:has(.jvfs-primary:focus-visible){border-color:#8caec5;box-shadow:0 0 0 3px rgba(12,68,118,.07)}


/* ==========================================================
   V14.2 FULL-WIDTH STOREFRONT + ANIMATED ACTION SYSTEM
   ========================================================== */

/* Break out of Elementor/theme content containers and use the full viewport. */
.jvfs{
 width:100vw!important;
 max-width:100vw!important;
 margin:0 calc(50% - 50vw)!important;
 border-left:0!important;
 border-right:0!important;
 border-radius:0!important;
 min-height:100vh;
 box-shadow:none!important;
}
.jvfs-topbar,.jvfs-steps,.jvfs-pagehead,.jvfs-ai-search,.jvfs-ai-results-head,
.jvfs-date-strip,.jvfs-ai-service-strip,.jvfs-toolbar,.jvfs-ai-result-columns,
.jvfs-results,.jvfs-sharebar,.jvfs-itinerary,.jvfs-fare-route,.jvfs-ai-included,
.jvfs-fares,.jvfs-actions,.jvfs-ai-booking-steps,.jvfs-ai-booking-layout,
.jvfs-request-confirm,.jvfs-footer{
 width:100%!important;
 max-width:none!important;
}
.elementor-widget-shortcode:has(.jvfs),
.elementor-shortcode:has(.jvfs),
.entry-content:has(.jvfs),
.wp-block-post-content:has(.jvfs){
 max-width:none!important;
 width:100%!important;
 padding-left:0!important;
 padding-right:0!important;
}

/* Larger content gutters on desktop while remaining truly full width. */
@media(min-width:1200px){
 .jvfs-pagehead,.jvfs-ai-search,.jvfs-ai-results-head,.jvfs-date-strip,
 .jvfs-ai-service-strip,.jvfs-toolbar,.jvfs-ai-result-columns,.jvfs-results,
 .jvfs-sharebar,.jvfs-itinerary,.jvfs-fare-route,.jvfs-ai-included,.jvfs-fares,
 .jvfs-actions,.jvfs-ai-booking-steps,.jvfs-ai-booking-layout,.jvfs-request-confirm{
   padding-left:clamp(28px,4vw,72px)!important;
   padding-right:clamp(28px,4vw,72px)!important;
 }
}

/* Animated button foundation */
.jvfs button,
.jvfs a.jvfs-primary,
.jvfs a.jvfs-secondary,
.jvfs .jvfs-link,
.jvfs .jvfs-date-strip button,
.jvfs .jvfs-toolbar button{
 position:relative;
 overflow:hidden;
 transform:translateZ(0);
 transition:
   transform .18s cubic-bezier(.2,.75,.35,1),
   box-shadow .18s ease,
   background-color .18s ease,
   border-color .18s ease,
   color .18s ease,
   opacity .18s ease!important;
 will-change:transform;
}
.jvfs button::before,
.jvfs a.jvfs-primary::before,
.jvfs a.jvfs-secondary::before{
 content:"";
 position:absolute;
 top:-120%;
 left:-35%;
 width:28%;
 height:340%;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
 transform:rotate(18deg);
 opacity:0;
 pointer-events:none;
}
.jvfs button:hover:not(:disabled),
.jvfs a.jvfs-primary:hover,
.jvfs a.jvfs-secondary:hover,
.jvfs .jvfs-link:hover{
 transform:translateY(-2px);
 box-shadow:0 8px 18px rgba(8,22,46,.12);
}
.jvfs button:hover:not(:disabled)::before,
.jvfs a.jvfs-primary:hover::before,
.jvfs a.jvfs-secondary:hover::before{
 opacity:1;
 animation:jvfsButtonShine .72s ease forwards;
}
.jvfs button:active:not(:disabled),
.jvfs a.jvfs-primary:active,
.jvfs a.jvfs-secondary:active{
 transform:translateY(0) scale(.975);
 box-shadow:0 3px 8px rgba(8,22,46,.10);
}
.jvfs button:focus-visible,
.jvfs a:focus-visible{
 outline:3px solid rgba(12,68,118,.22)!important;
 outline-offset:3px!important;
}
@keyframes jvfsButtonShine{
 from{left:-35%}
 to{left:125%}
}

/* Primary CTA gets a subtle breathing state until clicked. */
.jvfs-primary:not(:disabled){
 animation:jvfsPrimaryPulse 3.2s ease-in-out infinite;
}
@keyframes jvfsPrimaryPulse{
 0%,100%{box-shadow:0 7px 17px rgba(12,68,118,.14)}
 50%{box-shadow:0 10px 24px rgba(12,68,118,.24)}
}

/* Loading button */
.jvfs button.is-loading,
.jvfs .jvfs-primary.is-loading{
 color:transparent!important;
 pointer-events:none;
}
.jvfs button.is-loading::after,
.jvfs .jvfs-primary.is-loading::after{
 content:"";
 position:absolute;
 width:15px;height:15px;
 left:50%;top:50%;
 margin:-8px 0 0 -8px;
 border:2px solid rgba(255,255,255,.45);
 border-top-color:#fff;
 border-radius:50%;
 animation:jvfsSpin .65s linear infinite;
}
@keyframes jvfsSpin{to{transform:rotate(360deg)}}

/* Success button state */
.jvfs button.is-success,.jvfs .jvfs-primary.is-success{
 background:#2d7655!important;
 border-color:#2d7655!important;
 color:#fff!important;
 animation:jvfsSuccessPop .45s ease both!important;
}
@keyframes jvfsSuccessPop{
 0%{transform:scale(.96)}
 55%{transform:scale(1.035)}
 100%{transform:scale(1)}
}

.jvfs-submit-success{
 margin-top:10px;
 padding:10px 12px;
 background:#e9f6ef;
 color:#286d4d;
 border:1px solid #cde7d8;
 border-radius:6px;
 font-size:8px;
 font-weight:800;
 animation:jvfsFadeUp .35s ease both;
}
.jvfs-ai-review-warning{
 margin-top:10px;
 background:#fff7e8;
 border-left:3px solid #b98228;
 padding:8px 10px;
}
.jvfs-ai-review-warning b{display:block;font-size:8px;color:#77591f}
.jvfs-ai-review-warning span{display:block;font-size:7px;color:#786b52;line-height:1.45;margin-top:2px}
@keyframes jvfsFadeUp{
 from{opacity:0;transform:translateY(5px)}
 to{opacity:1;transform:translateY(0)}
}

@media(prefers-reduced-motion:reduce){
 .jvfs button,.jvfs a,.jvfs-primary{animation:none!important;transition:none!important}
 .jvfs button::before,.jvfs a::before{display:none!important}
}


/* ==========================================================
   V14.3 REQUIRED FARE REVIEW BEFORE FLIGHT DESK REQUEST
   ========================================================== */
.jvfs-booking-fare-review{
 margin:14px 0;
 background:#fff;
 border:1px solid #dce4e9;
 border-top:4px solid #0C4476;
 border-radius:8px;
 overflow:hidden;
 scroll-margin-top:24px;
}
.jvfs-booking-fare-review-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:16px;
 padding:16px 18px;
 background:linear-gradient(180deg,#fff,#f8fafb);
 border-bottom:1px solid #e8edf0;
}
.jvfs-booking-fare-review-head>div>span{
 display:block;
 font-size:7px;
 font-weight:900;
 letter-spacing:1px;
 color:#0C4476;
}
.jvfs-booking-fare-review-head h3{
 margin:4px 0 3px;
 font-size:17px;
 color:#08162e;
}
.jvfs-booking-fare-review-head p{
 margin:0;
 font-size:8px;
 line-height:1.45;
 color:#72828e;
}
.jvfs-live-rule-badge{
 flex:0 0 auto;
 padding:6px 8px;
 border-radius:999px;
 background:#eaf3f8;
 color:#0C4476;
 font-size:7px;
 font-weight:900;
}
.jvfs-booking-fare-rules{padding:14px 16px}
.jvfs-booking-rule-grid{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:8px;
}
.jvfs-booking-rule-card{
 min-height:82px;
 padding:11px;
 background:#f6f8fa;
 border:1px solid #e5ebef;
 border-radius:7px;
}
.jvfs-booking-rule-card>span{
 display:block;
 font-size:7px;
 text-transform:uppercase;
 letter-spacing:.45px;
 color:#748591;
 font-weight:800;
}
.jvfs-booking-rule-card>b{
 display:block;
 margin-top:5px;
 font-size:8px;
 line-height:1.45;
 color:#253f52;
 overflow-wrap:anywhere;
}
.jvfs-booking-rule-card>small{
 display:block;
 margin-top:3px;
 font-size:7px;
 color:#7b8992;
}
.jvfs-booking-rule-card.prominent{
 background:#eef5f9;
 border-color:#cfdfe9;
}
.jvfs-booking-rule-card.prominent>b{color:#0C4476;font-size:10px}
.jvfs-booking-rule-card.total{
 background:#08162e;
 border-color:#08162e;
}
.jvfs-booking-rule-card.total>span{color:#aebcc6}
.jvfs-booking-rule-card.total>b{color:#fff;font-size:13px}
.jvfs-booking-rule-card.rule-state.allowed{
 border-left:3px solid #2d7655;
 background:#f2f9f5;
}
.jvfs-booking-rule-card.rule-state.blocked{
 border-left:3px solid #a54444;
 background:#fff4f4;
}
.jvfs-booking-rule-card.rule-state.unknown{
 border-left:3px solid #b98228;
 background:#fff9ed;
}
.jvfs-booking-rule-foot{
 margin-top:10px;
 padding:11px 12px;
 border-left:3px solid #527C9F;
 background:#f8fafb;
}
.jvfs-booking-rule-foot p{
 margin:0;
 font-size:8px;
 line-height:1.5;
 color:#596f7e;
}
.jvfs-booking-rule-foot a{
 display:inline-block;
 margin-top:7px;
 color:#0C4476;
 font-size:8px;
 font-weight:900;
 text-decoration:none;
}
.jvfs-fare-ack{
 display:flex;
 align-items:flex-start;
 gap:10px;
 margin:0 16px 16px;
 padding:12px;
 border:1px solid #ccdbe5;
 border-radius:7px;
 background:#eef5f9;
 cursor:pointer;
}
.jvfs-fare-ack input{
 width:auto!important;
 margin-top:2px;
 accent-color:#0C4476;
}
.jvfs-fare-ack span{display:block}
.jvfs-fare-ack b{
 display:block;
 font-size:9px;
 color:#193b52;
}
.jvfs-fare-ack small{
 display:block;
 margin-top:3px;
 font-size:7px;
 line-height:1.45;
 color:#6d7d88;
}
.jvfs-fare-ack:has(input:checked){
 border-color:#87ad98;
 background:#edf8f2;
}
.jvfs-ai-summary-links a{
 display:block;
 text-align:right;
 color:#0C4476;
 font-size:8px;
 font-weight:800;
 padding:3px 0;
 text-decoration:none;
}
.jvfs-ai-summary-links a:hover{text-decoration:underline}

@media(max-width:1050px){
 .jvfs-booking-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .jvfs-booking-fare-review-head{display:block}
 .jvfs-live-rule-badge{display:inline-block;margin-top:8px}
 .jvfs-booking-rule-grid{grid-template-columns:1fr}
}

/* Ensure fare review prints cleanly if the traveller prints the browser page. */
@media print{
 .jvfs-booking-fare-review,
 .jvfs-booking-fare-review *{
   -webkit-print-color-adjust:exact;
   print-color-adjust:exact;
 }
}


/* ==========================================================
   V15 VOYAGESUSTAIN + SHARE / PRINT / UI ENHANCEMENTS
   ========================================================== */
.jvfs-vs-results-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px clamp(20px,4vw,70px);background:linear-gradient(100deg,#edf7f1,#f8fbf9);border-bottom:1px solid #dcebe2}
.jvfs-vs-results-banner span{display:block;font-size:7px;color:#2d7655;font-weight:900;letter-spacing:1px}.jvfs-vs-results-banner b{display:block;font-size:12px;color:#214636;margin:3px 0}.jvfs-vs-results-banner small{display:block;font-size:8px;line-height:1.45;color:#607269}.jvfs-vs-results-banner>strong{font-size:28px}
.jvfs-emissions{display:block;margin-top:8px;padding:6px 7px;background:#edf7f1;border:1px solid #d5eadc;border-radius:5px;color:#2d6e50;font-size:7px;font-weight:800;line-height:1.35}.jvfs-emissions.missing{background:#f5f6f7;border-color:#e2e5e7;color:#7a838a}.jvfs-vs-mini{display:block;font-size:7px;color:#2d7655;font-weight:800;margin:0 0 8px}
.jvfs-share-suite{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px 22px;padding-top:15px;padding-bottom:15px}.jvfs-share-brand span{display:block;font-size:7px;color:#0C4476;font-weight:900;letter-spacing:1.2px}.jvfs-share-brand b{display:block;font-size:11px;color:#08162e;margin-top:2px}.jvfs-share-brand small{display:block;font-size:7px;color:#758691;margin-top:2px}.jvfs-share-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.jvfs-share-suite .jvfs-share-status{grid-column:1/-1;padding-top:8px;border-top:1px solid #edf1f3;margin-left:0!important;text-align:right}
.jvfs-vs-booking{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;margin:14px 0;padding:15px;background:linear-gradient(110deg,#edf7f1,#f9fcfa);border:1px solid #d4e8db;border-left:5px solid #2d7655;border-radius:8px}.jvfs-vs-leaf{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;font-size:22px}.jvfs-vs-booking span{display:block;font-size:7px;color:#2d7655;font-weight:900;letter-spacing:1px}.jvfs-vs-booking h3{font-size:14px;color:#214737;margin:4px 0}.jvfs-vs-booking p{font-size:8px;line-height:1.55;color:#61736a;margin:0}
.jvfs-vs-summary-line{display:flex;justify-content:space-between;clear:both;padding-top:8px;margin-top:8px;border-top:1px solid #e5ebe7;color:#2d7655}.jvfs-vs-summary-line span,.jvfs-vs-summary-line b{font-size:8px}
.jvfs-vs-thanks{max-width:780px;margin:12px auto;padding:13px 14px;background:#edf7f1;border-left:4px solid #2d7655;text-align:left}.jvfs-vs-thanks b{display:block;font-size:9px;color:#285f47}.jvfs-vs-thanks span{display:block;font-size:8px;line-height:1.5;color:#607269;margin-top:3px}
.jvfs-mag-emissions-feature{margin-top:24px;padding:18px;background:#edf7f1;border-left:4px solid #2d7655}.jvfs-mag-emissions-feature span{display:block;font-size:7px;color:#2d7655;font-weight:900}.jvfs-mag-emissions-feature b{display:block;font-size:20px;color:#214737;margin:4px 0}.jvfs-mag-emissions-feature p{font-size:8px;color:#607269}
.jvfs-mag-vs{background:linear-gradient(145deg,#f5f8f6,#fff)}.jvfs-vs-big{font-size:72px;font-weight:900;color:#2d7655;margin:40px 0 12px}.jvfs-mag-vs>p{max-width:700px;font-size:12px;line-height:1.7;color:#53665b}.jvfs-vs-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:35px}.jvfs-vs-print-grid>div{background:#fff;border:1px solid #dce8df;padding:15px}.jvfs-vs-print-grid span{display:block;font-size:7px;color:#718279}.jvfs-vs-print-grid b{display:block;font-size:15px;color:#214737;margin-top:4px}
@media(max-width:760px){.jvfs-share-suite{grid-template-columns:1fr}.jvfs-share-actions{justify-content:flex-start}.jvfs-share-suite .jvfs-share-status{text-align:left}.jvfs-vs-results-banner{padding-left:14px;padding-right:14px}.jvfs-vs-print-grid{grid-template-columns:1fr}}


/* v2.3.0 visible airport entry + overlap-safe search */
.jvfs-ai-airport-entry{display:flex;align-items:center;gap:7px;min-width:0}.jvfs-ai-airport-entry input{min-width:0}.jvfs-ai-airport-entry>strong{flex:0 0 auto}.jvfs-ai-search-row>*{min-width:0}.jvfs-autocomplete{max-height:310px;overflow:auto}
@media(max-width:760px){.jvfs-ai-search-row{overflow:visible}.jvfs-ai-airport-cell{overflow:visible}.jvfs-autocomplete{max-height:240px}}
.jvfs-ai-airport-cell{position:relative;overflow:visible}.jvfs-ai-airport-cell>.jvfs-ai-airport-entry{position:relative;display:flex;align-items:center;gap:7px}.jvfs-ai-airport-cell>.jvfs-ai-airport-entry input{position:static;inset:auto;display:block;flex:1 1 auto;width:100%;min-width:0;height:28px;padding:0;opacity:1;background:transparent;color:#17324a;font-size:12px;font-weight:800;cursor:text}.jvfs-ai-airport-cell>.jvfs-ai-airport-entry strong{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:24px;margin:0;padding:0 6px;border-radius:6px;background:#eaf3f9;color:#0c4476;font-size:11px;letter-spacing:.03em}.jvfs-ai-airport-cell:focus-within>.jvfs-ai-airport-entry input{opacity:1;font-size:12px;background:transparent;padding:0;z-index:auto}.jvfs-ai-airport-cell:focus-within>small{opacity:1}.jvfs-ai-airport-cell>.jvfs-ai-code-origin,.jvfs-ai-airport-cell>.jvfs-ai-code-destination{display:none}.jvfs-ai-airport-cell .jvfs-autocomplete{top:calc(100% + 4px);z-index:1000}
.jvfs-autocomplete button.is-keyboard-active{background:#edf5fa!important;outline:1px solid #bdd5e4;outline-offset:-1px}
