.vlp-booking-modal.booking-modal{--bm-accent:#0098B0;--vlp-navy:#1e3a5f}.vlp-booking-modal .vlp-booking-panel{max-width:72rem;max-height:min(95vh,920px);display:flex;flex-direction:column;overflow:hidden}.vlp-booking-modal .vlp-booking-close{position:absolute;top:.875rem;right:.875rem;z-index:20;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:9999px;border:1px solid #e2e8f0;background:#fff;color:#64748b}.vlp-booking-modal .vlp-booking-close:hover{color:#334155;background:#f8fafc}.vlp-booking-layout{display:flex;flex:1;min-height:0;overflow:hidden}.vlp-booking-sidebar{width:21rem;flex-shrink:0;display:flex;flex-direction:column;gap:.875rem;padding:1.25rem 1rem 1.25rem 1.25rem;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-right:1px solid #e2e8f0;overflow-y:auto}.vlp-booking-sidebar-head{padding-right:2rem}.vlp-booking-sidebar-title{margin:0;font-size:1.125rem;font-weight:800;line-height:1.25;color:var(--vlp-navy)}.vlp-booking-sidebar-tags{margin:.35rem 0 0;font-size:.75rem;line-height:1.45;color:#64748b}.vlp-booking-sidebar-image{overflow:hidden;border-radius:.875rem;border:1px solid #e2e8f0;background:#fff;aspect-ratio:16/10}.vlp-booking-sidebar-img{width:100%;height:100%;object-fit:contain;object-position:center;padding:.5rem}.vlp-booking-features-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none}.vlp-booking-feature-card{display:flex;flex-direction:column;gap:.15rem;min-height:4.5rem;padding:.625rem .5rem;border-radius:.75rem;border:1px solid #e2e8f0;background:#fff}.vlp-booking-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:.5rem;background:#eff6ff}.vlp-booking-feature-label{font-size:.6875rem;font-weight:800;line-height:1.2;color:var(--vlp-navy)}.vlp-booking-feature-sub{font-size:.625rem;line-height:1.25;color:#64748b}.vlp-booking-sidebar-fare{margin:auto 0 0}.vlp-booking-secure-note{display:flex;align-items:center;gap:.4rem;margin:.75rem 0 0;font-size:.75rem;font-weight:600;color:#0098b0}.vlp-booking-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;padding:1rem 1.25rem 1.25rem}.vlp-booking-stepper{margin-bottom:1rem;padding-top:.25rem;padding-right:2rem}.vlp-booking-stepper-list{display:flex;flex-wrap:wrap;gap:.5rem .75rem;margin:0;padding:0;list-style:none}.vlp-booking-step{display:inline-flex;align-items:center;gap:.4rem;font-size:.6875rem;font-weight:600;color:#94a3b8}.vlp-booking-step.is-active{color:var(--vlp-navy)}.vlp-booking-step-index{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:9999px;border:1px solid;font-size:.625rem;font-weight:800}.vlp-booking-step.is-active .vlp-booking-step-index{border-color:#0098b0;background:#0098b0;color:#fff}.vlp-booking-form{gap:.875rem}.vlp-booking-pickup-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.vlp-booking-pickup-head .booking-modal-label{margin-bottom:0}.vlp-booking-manage-link{font-size:.75rem;font-weight:700;color:#0098b0;text-decoration:none}.vlp-booking-manage-link:hover{text-decoration:underline}.vlp-booking-features-bar{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.5rem;padding:.75rem .875rem;border-radius:.75rem;border:1px solid #e2e8f0;background:#f8fafc}.vlp-booking-features-bar-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.6875rem;font-weight:600;color:#475569}.vlp-booking-form-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding-top:.875rem;border-top:1px solid #e2e8f0}.vlp-booking-secure-inline{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.75rem;font-weight:600;color:#64748b}.vlp-booking-form-footer-actions{display:flex;align-items:center;gap:.625rem}.vlp-booking-btn-cancel,.vlp-booking-btn-continue{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.75rem;padding:.625rem 1rem;border-radius:.75rem;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.vlp-booking-btn-cancel{border:1px solid #cbd5e1;background:#fff;color:#334155}.vlp-booking-btn-cancel:hover{background:#f8fafc}.vlp-booking-btn-continue{border:0;background:linear-gradient(135deg,#004080,#0098b0);color:#fff;min-width:10rem}.vlp-booking-btn-continue:disabled{opacity:.65;cursor:not-allowed}.vlp-booking-btn-continue.is-loading{opacity:.95}.vlp-booking-loading-overlay{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border-radius:inherit;background:rgba(255,255,255,.72);backdrop-filter:blur(2px);pointer-events:all}.vlp-booking-loading-overlay p{margin:0;font-size:.875rem;font-weight:600;color:#334155}.vlp-booking-mobile-footer{display:none}.vlp-booking-cab-picker{position:absolute;top:3rem;left:1rem;right:1rem;z-index:30}.vlp-booking-fare-divider{margin:.5rem 0;border:0;border-top:1px solid #bfdbfe}.vlp-booking-fare-line--strong dd{font-weight:700}.vlp-booking-fare-pricing{gap:.4rem}.vlp-booking-city-grid{margin-top:.25rem}.vlp-booking-route-row{display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start}.vlp-booking-route-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.vlp-booking-route-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.vlp-booking-trip-type .booking-modal-select{min-height:2.75rem;font-size:.875rem}.vlp-hero-city-input{font-size:.875rem}.vlp-hero-city-icon{position:absolute;left:.875rem;top:50%;z-index:2;height:1rem;width:1rem;transform:translateY(-50%);color:#0098b0;pointer-events:none}.vlp-hero-city-suggestions{max-height:16rem;overflow-y:auto}.vlp-hero-city-suggestions-heading,.vlp-hero-city-suggestions-status{padding:.625rem .875rem;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.vlp-hero-city-suggestions button{display:flex;width:100%;align-items:flex-start;gap:.625rem;padding:.625rem .875rem}.vlp-hero-city-suggestion-icon{margin-top:.125rem;height:1rem;width:1rem;flex-shrink:0;color:#0098b0}.vlp-booking-schedule-row{display:grid;gap:.75rem;align-items:start}.vlp-booking-schedule-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.vlp-booking-schedule-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.vlp-booking-schedule-row .booking-modal-input{font-size:.875rem}.vlp-booking-contact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:start}.vlp-booking-contact-row .booking-modal-input{font-size:.875rem}.vlp-booking-airport-section{display:flex;flex-direction:column;gap:.75rem}.vlp-booking-saved-address-banner{margin:0}.vlp-booking-modal .booking-modal-airport-grid{align-items:end}.vlp-booking-airport-col{display:flex;min-width:0;flex-direction:column;gap:.35rem}.vlp-booking-airport-col .booking-modal-label{margin-bottom:0}.vlp-booking-modal .vlp-airport-address-input{box-sizing:border-box;min-height:2.75rem;height:2.75rem;resize:none;overflow:hidden;line-height:1.25rem;padding-top:.7rem;padding-bottom:.7rem}.vlp-booking-modal .booking-modal-airport-grid .booking-modal-input,.vlp-booking-modal .booking-modal-airport-grid .booking-modal-select{min-height:2.75rem}.vlp-booking-fare-line--muted dt{color:#64748b;font-weight:500}.vlp-booking-fare-detail{display:block;margin-top:.15rem;font-size:.75rem;font-weight:400;line-height:1.35;color:#64748b}.vlp-booking-fare-line--single{flex-direction:column;align-items:flex-start}.vlp-booking-fare-line--single dt{font-size:.8125rem;line-height:1.45;color:#475569}.vlp-booking-fare-line--single dd{display:none}.vlp-booking-mobile-fare{display:none;margin-bottom:.75rem}@media (max-width:1023px){.vlp-booking-modal .vlp-booking-panel{max-height:95vh}.vlp-booking-layout{flex-direction:column;overflow-y:auto}.vlp-booking-sidebar{width:100%;border-right:0;border-bottom:1px solid #e2e8f0;padding-top:2.75rem}.vlp-booking-sidebar-fare{display:none}.vlp-booking-mobile-fare{display:block}.vlp-booking-main{overflow:visible;padding-bottom:5.5rem}.vlp-booking-stepper{padding-right:0}.vlp-booking-contact-row,.vlp-booking-route-row--3,.vlp-booking-schedule-row--3{grid-template-columns:1fr}.vlp-booking-schedule-row--2{grid-template-columns:1fr 1fr}.vlp-booking-form-footer{display:none}.vlp-booking-mobile-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid #e2e8f0;background:#fff}.vlp-booking-mobile-footer-price{display:flex;flex-direction:column;gap:.1rem;min-width:0}.vlp-booking-mobile-footer-label{font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.vlp-booking-mobile-footer-price strong{font-size:1.125rem;font-weight:800;color:#0098b0}.vlp-booking-mobile-footer-pay{font-size:.6875rem;font-weight:600;color:#64748b}.vlp-booking-btn-continue--mobile{min-width:7.5rem;min-height:2.5rem;padding-inline:.875rem;font-size:.8125rem}}@media (max-width:639px){.vlp-booking-route-row--2,.vlp-booking-schedule-row--2{grid-template-columns:1fr}.vlp-booking-features-bar{flex-direction:column;align-items:flex-start}.vlp-booking-features-grid{grid-template-columns:1fr 1fr}}