.flow-open{overflow:hidden}.booking-flow{position:fixed;inset:0;z-index:1000;background:#f4f5f6;overflow-y:auto;color:#1a344c;font:14px Arial,sans-serif}.booking-flow[hidden],.booking-flow [hidden]{display:none!important}.flow-top{background:#fff;border-bottom:1px solid #e5e9ed;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px max(24px,calc((100vw - 1100px)/2));font-size:12px}.flow-brand{font-weight:800;letter-spacing:.08em;font-size:17px}.flow-top button,.flow-back,.summary-edit{background:none;border:0;color:#255370;cursor:pointer;font:inherit}.flow-progress{display:flex;justify-content:center;gap:50px;padding:28px 20px;margin:0;list-style:none;color:#94a1ab;font-size:13px}.flow-progress li{display:flex;gap:8px;align-items:center}.flow-progress li.current{color:#00b68b;font-weight:700}.flow-layout{max-width:1100px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;margin:0 auto;padding:0 24px 60px}.flow-main{min-width:0}.flow-card,.summary-card{background:#fff;border-radius:5px;box-shadow:0 1px 4px #14263712;border:1px solid #edf0f2}.flow-card{padding:32px}.booking-flow h2{font:600 21px Arial,sans-serif;margin:0 0 26px}.booking-flow h3{font:600 17px Arial,sans-serif}.passenger-choice{display:grid;gap:16px;margin-bottom:32px;font-size:13px}.passenger-choice label,.flow-check{display:flex;gap:9px;align-items:center}.booking-flow input[type=radio],.booking-flow input[type=checkbox]{accent-color:#00c89a;width:16px;height:16px;margin:0;flex-shrink:0}.flow-label{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;font-size:13px}.flow-label input,.flow-label textarea{width:100%;border:1px solid #d5dce3;border-radius:3px;background:#fff;padding:12px;color:#1a344c;font:14px Arial,sans-serif;min-height:45px}.flow-label input:focus,.flow-label textarea:focus{outline:2px solid #00c89a55;border-color:#00b68b}.flow-label small,.seat-help,.flow-help{font-size:12px;color:#8a98a7;line-height:1.6}.flow-divider{border-top:1px solid #e5e9ed;margin:28px 0}.flow-check{font-size:13px;margin-bottom:20px}.seat-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:14px 0;max-width:320px;font-size:13px}.seat-row select{width:80px;padding:9px;border:1px solid #d5dce3;border-radius:4px;background:#fff;color:#1a344c}.seat-help{display:block;margin:15px 0 25px}.notes-label{margin-top:26px}.flow-primary{display:block;background:#00c89a;color:white;width:100%;padding:16px;border:0;border-radius:4px;font-size:14px;font-weight:700;cursor:pointer;margin-top:24px;min-height:50px}.flow-primary:hover{background:#00b68b}.flow-primary:disabled{background:#a5c9c0;cursor:not-allowed}.flow-error{color:#b54031;line-height:1.6;font-size:13px}.flow-error:empty{display:none}#fare-status{font-size:12px;color:#6b7e8e;line-height:1.6}#flow-vehicles{display:grid;gap:13px;margin-top:20px}.flow-vehicle{border:1px solid #dce3e7;border-radius:8px;background:#fff;display:grid;grid-template-columns:125px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;text-align:left;color:#1a344c;cursor:pointer;width:100%;font:14px Arial,sans-serif}.flow-vehicle.selected{border:2px solid #00c89a;background:#f2fcf8;padding:15px}.flow-vehicle-image{height:85px;background:#f7f9fa;border-radius:6px;overflow:hidden}.flow-vehicle-image img{width:100%;height:100%;object-fit:contain}.flow-vehicle-info{min-width:0}.flow-vehicle-info h3{font-size:16px;margin:0 0 8px}.flow-vehicle-info p{color:#8a98a7;font-size:12px;margin:0 0 10px;line-height:1.5}.flow-vehicle-info>span{font-size:11px;color:#637789}.flow-vehicle-price{display:flex;flex-direction:column;gap:14px;align-items:end;font-size:12px}.flow-vehicle-price strong{font-size:17px;color:#00b68b;white-space:nowrap}.flow-vehicle-price span{padding:7px 13px;border:1px solid #00c89a;border-radius:4px;color:#00a981}.flow-vehicle.selected .flow-vehicle-price span{background:#00c89a;color:white}.flow-sidebar{align-self:start;position:sticky;top:20px}.summary-cover{height:130px;background:linear-gradient(90deg,#163e49bb,#163e4933),url('/assets/arrival-hero.png') center 50%/cover;display:flex;flex-direction:column;justify-content:space-between;color:#fff;padding:22px}.summary-cover h2{font-size:18px;margin:0}.summary-cover span{font-size:13px;font-weight:700;align-self:start;background:#152a36b3;padding:6px 10px;border-radius:4px}.summary-body{padding:22px;font-size:12px;line-height:1.7}.summary-edit{float:right;font-size:11px}.route-points{border-left:1px solid #00c89a;margin:20px 0;padding-left:14px}.route-points p{position:relative;line-height:1.7}.route-points p:before{content:'';position:absolute;top:5px;left:-18px;width:6px;height:6px;background:white;border:1px solid #00c89a;border-radius:50%}.summary-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5e9ed;padding-top:20px;margin-top:22px;font-size:14px}.summary-total small{display:block;font-size:10px;color:#8a98a7;margin-top:5px}.summary-total strong{font-size:23px;color:#00c89a}.summary-assistance{margin-top:16px;padding:24px}.summary-assistance h3{margin-top:0}.summary-assistance p{font-size:12px;line-height:1.8;color:#637789}.summary-assistance a{color:#00a981}.flow-back{padding:0;margin-bottom:24px;font-size:12px}#stripe-card{padding:16px 12px;border:1px solid #d5dce3;border-radius:4px;margin:12px 0}.payment-security{font-size:12px;color:#8a98a7}.success-tick{font-size:45px;color:#00c89a;margin-bottom:22px}#payment-review{padding:15px 18px;background:#f7f9fa;border-radius:5px;margin-bottom:25px}#payment-review p{font-size:13px;margin:5px 0;line-height:1.6}
.route-points p:first-child:before{background:#fff}.route-points p:last-child:before{background:#00c89a}
.payment-method-tab{display:flex;justify-content:space-between;gap:10px;border:1px solid #00c89a;border-radius:4px;padding:12px;margin:0 0 28px;font-size:12px;font-weight:700}.payment-method-tab span{font-size:10px;font-weight:400;color:#7c8d9b}.payment-card-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-flow .stripe-input,.booking-flow #stripe-card{min-height:47px;padding:14px 12px;border:1px solid #d5dce3;border-radius:3px;margin:0}.payment-terms{font-size:11px;align-items:flex-start;line-height:1.6;margin-top:5px}.payment-terms a{text-decoration:underline}.payment-security{margin-top:22px}
@media(max-width:1050px){.flow-layout{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.flow-card{padding:24px}.flow-vehicle{grid-template-columns:90px minmax(0,1fr);gap:12px}.flow-vehicle-price{grid-column:1/-1;flex-direction:row;justify-content:space-between}.flow-vehicle-image{height:75px}}
@media(max-width:700px){.flow-top{padding:18px 16px}.flow-top>span{display:none}.flow-top button{font-size:11px}.flow-brand{font-size:14px}.flow-progress{gap:20px;font-size:11px;padding:23px 10px}.flow-layout{grid-template-columns:1fr;padding:0 12px 40px}.flow-sidebar{position:static;grid-row:auto}.summary-cover{height:85px;padding:15px}.summary-body{padding:15px}.summary-body .route-points{margin:12px 0}.summary-assistance{display:none}.summary-total{padding-top:12px;margin-top:12px}.flow-card{padding:24px 20px}.flow-vehicle{grid-template-columns:95px minmax(0,1fr)}.flow-vehicle-price strong{font-size:18px}.booking-flow h2{font-size:20px}.flow-label input{font-size:16px}}

.phone-number-row{display:flex;gap:8px;min-width:0}.flow-label .phone-number-row select{width:43%;max-width:180px;min-width:0;height:48px;padding:0 10px;border:1px solid #d5dce3;border-radius:3px;background:#fff;color:#1a344c;font:14px Arial,sans-serif}.flow-label .phone-number-row input{flex:1;width:0;min-width:0;margin:0}.flow-label .phone-number-row select:focus{outline:2px solid #00c89a;outline-offset:-1px;border-color:#00c89a}

.booking-flow input[name=flightNumber],.booking-flow input[name=returnFlightNumber]{text-transform:uppercase}.seat-stepper{display:flex;align-items:center;justify-content:space-between;width:118px;height:40px;flex-shrink:0;border:1px solid #d5dce3;border-radius:4px;background:#fff;overflow:hidden}.seat-stepper button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;background:#fff;color:#1a344c;font:22px Arial,sans-serif;cursor:pointer}.seat-stepper output{min-width:24px;text-align:center;font:14px Arial,sans-serif}.seat-stepper button:disabled{color:#c2cad2;background:#f8f9fa;cursor:default}.seat-stepper button:not(:disabled):hover{background:#e9fbf5}.seat-stepper button:focus-visible{outline:2px solid #00c89a;outline-offset:-3px}

.route-points{border-left:0;display:grid;gap:16px;padding-left:15px}.route-points p{margin:0;position:relative}.route-points p:before{left:-19px;top:5px;width:8px;height:8px;box-sizing:border-box;z-index:1}.route-points p:first-child:after{content:"";position:absolute;left:-15px;top:9px;height:calc(100% + 16px);width:1px;background:#00c89a;z-index:0}

/* Keep booking navigation visible while the form scrolls. */
.booking-flow .flow-top{position:sticky;top:0;z-index:30;min-height:64px;box-sizing:border-box}.booking-flow .flow-progress{position:sticky;top:var(--flow-header-height,64px);z-index:29;background:#f4f5f6;border-bottom:1px solid #e3e9ed;min-height:74px;box-sizing:border-box}.booking-flow .flow-sidebar{top:calc(var(--flow-header-height,64px) + var(--flow-progress-height,74px) + 20px)}
.flow-progress .step-number{font:inherit;font-weight:inherit}.flow-progress[data-design]{max-width:none;gap:0;display:flex;align-items:center;justify-content:center;padding:20px max(18px,calc((100% - 720px)/2));font:13px Arial,sans-serif;isolation:isolate}.flow-progress[data-design] li{position:relative;flex:1;justify-content:center;min-width:0;white-space:nowrap}.flow-progress[data-design] .complete{color:#149176}
.flow-progress[data-design="1"] li{flex-direction:column;gap:7px;font-size:12px}.flow-progress[data-design="1"] .step-number{display:grid;place-items:center;width:30px;height:30px;background:#f4f5f6;border:1px solid #cfd9df;border-radius:50%;z-index:2}.flow-progress[data-design="1"] li:not(:last-child):after{content:'';position:absolute;left:calc(50% + 20px);right:calc(-50% + 20px);top:15px;height:1px;background:#d9e2e6;z-index:-1}.flow-progress[data-design="1"] .current .step-number{background:#00c89a;color:white;border-color:#00c89a;box-shadow:0 0 0 4px #00c89a16}.flow-progress[data-design="1"] .complete .step-number{background:#e4f8f1;border-color:#78d9bf}
.flow-progress[data-design="2"]{gap:5px}.flow-progress[data-design="2"] li{gap:7px;padding:12px 6px;border-radius:999px;background:#e6eaed;font-size:12px}.flow-progress[data-design="2"] .current{background:#00c89a;color:white;box-shadow:0 4px 10px #00c89a20}.flow-progress[data-design="2"] .complete{background:#e0f4ed;color:#087b61}.flow-progress[data-design="2"] .step-number{font-weight:700}
.flow-progress[data-design="3"]{gap:14px;align-items:stretch}.flow-progress[data-design="3"] li{padding:12px 0;border-bottom:3px solid #dce4e8;gap:7px;font-size:12px}.flow-progress[data-design="3"] .current{color:#008e70;border-color:#00c89a}.flow-progress[data-design="3"] .complete{border-color:#8de1cd}.flow-progress[data-design="3"] .step-number{font-size:11px;font-weight:700}
.flow-progress[data-design="4"]{gap:7px}.flow-progress[data-design="4"] li{flex-direction:column;gap:6px;padding:10px 6px;border:1px solid #dce4e8;border-radius:7px;background:white;font-size:12px}.flow-progress[data-design="4"] .step-number{font-size:11px;font-weight:700}.flow-progress[data-design="4"] .current{background:#173b43;border-color:#173b43;color:white}.flow-progress[data-design="4"] .complete{border-color:#9cdccb;background:#edfaf5}
.flow-progress[data-design="5"]{gap:18px}.flow-progress[data-design="5"] li{flex-direction:column;gap:7px;font-size:12px}.flow-progress[data-design="5"] .step-number{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e3e9ec;font-size:11px}.flow-progress[data-design="5"] .current .step-number{background:#00c89a;color:white}.flow-progress[data-design="5"] .current:after{content:'';height:3px;width:22px;border-radius:3px;background:#00c89a;position:absolute;bottom:-10px}.flow-progress[data-design="5"] .complete .step-number{background:#d7f4e9;color:#149176}
@media(max-width:420px){.flow-progress[data-design]{padding-left:12px;padding-right:12px}.flow-progress[data-design] li{font-size:11px}.flow-progress[data-design="2"]{gap:3px}.flow-progress[data-design="2"] li{gap:4px}.flow-progress[data-design="5"]{gap:6px}}
