.booking-modal{--bm-navy:#1e3a5f;--bm-blue:#0098B0;--bm-blue-bg:#eff6ff;--bm-blue-border:#bfdbfe;--bm-accent:#0098B0;--bm-green-bg:#ecfdf5;--bm-green-border:#a7f3d0;--bm-muted:#64748b}.booking-modal .booking-modal-panel{max-width:56rem;position:relative}.booking-modal .booking-modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:10}.booking-modal .booking-modal-header-main{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.booking-modal .booking-modal-vehicle-thumb{width:5.5rem;height:3.5rem;border-radius:.5rem;border:1px solid #e5e7eb;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.booking-modal .booking-modal-vehicle-img{width:100%;height:100%;object-fit:contain;object-position:center}.booking-modal .booking-modal-title{font-size:1.25rem;font-weight:700;color:var(--bm-navy);line-height:1.25;margin:0}.booking-modal .booking-modal-update-cab-btn{display:block;margin-top:.15rem;font-size:.8125rem;font-weight:600;color:var(--bm-accent);background:none;border:none;padding:0;cursor:pointer;text-align:left}.booking-modal .booking-modal-update-cab-btn:hover{text-decoration:underline}.booking-modal .booking-modal-close{color:#94a3b8;font-size:1.5rem;line-height:1;flex-shrink:0;background:none;border:none;cursor:pointer;padding:.25rem}.booking-modal .booking-modal-close:hover{color:#475569}.booking-modal .booking-modal-body{padding:1.25rem}.booking-modal .booking-modal-fare-card{background:var(--bm-blue-bg);border:1px solid var(--bm-blue-border);border-radius:.75rem;padding:1rem 1.125rem;margin-bottom:1.25rem;font-size:.875rem;color:#1e3a5f}.booking-modal .booking-modal-route-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--bm-blue-border)}@media (max-width:639px){.booking-modal .booking-modal-route-row{flex-direction:column}.booking-modal .booking-modal-secure-badge{align-self:flex-start}}.booking-modal .booking-modal-route-main{display:flex;align-items:flex-start;gap:.5rem;min-width:0}.booking-modal .booking-modal-route-main>i{color:var(--bm-blue);margin-top:.15rem;flex-shrink:0}.booking-modal .booking-modal-route-title{font-weight:700;font-size:.9375rem;color:var(--bm-navy);margin:0}.booking-modal .booking-modal-route-stats{font-size:.8125rem;color:var(--bm-muted);margin:.15rem 0 0}.booking-modal .booking-modal-secure-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:var(--bm-blue);white-space:nowrap}.booking-modal .booking-modal-secure-badge i{font-size:.875rem}.booking-modal .booking-modal-fare-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.booking-modal .booking-modal-fare-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,1fr);gap:1.25rem;align-items:start}}.booking-modal .booking-modal-fare-pricing{display:flex;flex-direction:column;gap:.35rem}.booking-modal .booking-modal-fare-line{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.booking-modal .booking-modal-fare-line dt{font-weight:500;color:#334155;margin:0}.booking-modal .booking-modal-fare-line dd{margin:0;font-weight:600}.booking-modal .booking-modal-fare-total{margin-top:.35rem;padding-top:.5rem;border-top:1px solid var(--bm-blue-border)}.booking-modal .booking-modal-fare-total dd{font-size:1.375rem;font-weight:800;color:var(--bm-blue)}.booking-modal .booking-modal-pay-now{font-size:.8125rem;color:var(--bm-blue);font-weight:600;margin:.15rem 0 0}.booking-modal .booking-modal-inclexcl-list,.booking-modal .booking-modal-spec-list{display:flex;flex-direction:column;gap:.65rem}.booking-modal .booking-modal-inclexcl-item,.booking-modal .booking-modal-spec-item{display:flex;align-items:flex-start;gap:.5rem}.booking-modal .booking-modal-spec-item i{color:var(--bm-blue);width:1.125rem;text-align:center;margin-top:.1rem}.booking-modal .booking-modal-inclexcl-item--in i{color:#16a34a}.booking-modal .booking-modal-inclexcl-item--ex i{color:#dc2626}.booking-modal .booking-modal-inclexcl-item strong,.booking-modal .booking-modal-spec-item strong{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--bm-muted)}.booking-modal .booking-modal-inclexcl-item span,.booking-modal .booking-modal-spec-item span{display:block;font-size:.8125rem;font-weight:600;color:var(--bm-navy)}.booking-modal .booking-modal-fare-line.hidden,.booking-modal .booking-modal-inclexcl-item.hidden,.booking-modal .booking-modal-package-details.hidden,.booking-modal .booking-modal-spec-item.hidden{display:none!important}.booking-modal .booking-modal-airport-notice{margin-top:.75rem;padding:.65rem .75rem;border-radius:.5rem;border:2px solid #fbbf24;background:rgba(254,243,199,.85);font-size:.75rem;line-height:1.45;color:#78350f}.booking-modal .booking-modal-form{display:flex;flex-direction:column;gap:1rem}.booking-modal .booking-modal-form-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:640px){.booking-modal .booking-modal-form-grid--2{grid-template-columns:1fr 1fr}}.booking-modal .booking-modal-label{display:block;font-size:.8125rem;font-weight:600;color:#334155;margin-bottom:.35rem}.booking-modal .booking-modal-field{position:relative}.booking-modal .booking-modal-field>i{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:.875rem;pointer-events:none;z-index:1}.booking-modal .booking-modal-field--textarea>i{top:.875rem;transform:none}.booking-modal .booking-modal-input,.booking-modal .booking-modal-select,.booking-modal .booking-modal-textarea{width:100%;padding:.7rem .875rem .7rem 2.5rem;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;color:#111827;background:#fff}.booking-modal .booking-modal-input:focus,.booking-modal .booking-modal-select:focus,.booking-modal .booking-modal-textarea:focus{outline:none;border-color:var(--bm-accent);box-shadow:0 0 0 2px rgba(0,86,210,.2)}.booking-modal .booking-modal-textarea{min-height:4.5rem;resize:vertical}.booking-modal .booking-modal-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2394a3b8' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2rem}.booking-modal .booking-modal-trust{display:grid;grid-template-columns:1fr;gap:.75rem;margin:1.25rem 0;padding:1rem;background:var(--bm-green-bg);border:1px solid var(--bm-green-border);border-radius:.75rem}@media (min-width:768px){.booking-modal .booking-modal-trust{grid-template-columns:repeat(3,1fr);gap:1rem}}.booking-modal .booking-modal-trust-item{display:flex;gap:.65rem;align-items:flex-start}.booking-modal .booking-modal-trust-item>i{color:#059669;font-size:1.125rem;margin-top:.1rem;flex-shrink:0}.booking-modal .booking-modal-trust-item strong{display:block;font-size:.8125rem;font-weight:700;color:#065f46}.booking-modal .booking-modal-trust-item p{margin:.2rem 0 0;font-size:.6875rem;line-height:1.4;color:#047857}@media (max-width:767px){.booking-modal .booking-modal-trust-item p{display:none}}.booking-modal .booking-modal-footer{margin-top:.5rem}.booking-modal .booking-modal-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.25rem;border:none;border-radius:.625rem;background:var(--bm-accent);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s}.booking-modal .booking-modal-submit:hover:not(:disabled){background:#004080}.booking-modal .booking-modal-submit:disabled{opacity:.65;cursor:not-allowed}.booking-modal .booking-modal-charge-note{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:.65rem;font-size:.75rem;color:var(--bm-muted)}.booking-modal .booking-modal-status{font-size:.8125rem;color:var(--bm-muted);text-align:center;min-height:1.25rem}.booking-modal .booking-modal-cab-picker{border-bottom:1px solid #e2e8f0;background:#f8fafc;padding:.75rem 1rem}.booking-modal .booking-modal-cab-picker-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0 0 .5rem}.booking-modal .booking-modal-cab-picker-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem;padding-bottom:.25rem}@media (min-width:480px){.booking-modal .booking-modal-cab-picker-list{grid-template-columns:repeat(auto-fill,minmax(7.25rem,1fr))}}.booking-modal .booking-modal-cab-option{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem .4rem .55rem;border-radius:.625rem;border:2px solid #e5e7eb;background:#fff;text-align:center;cursor:pointer;transition:border-color .15s,box-shadow .15s}.booking-modal .booking-modal-cab-option:hover{border-color:#93c5fd}.booking-modal .booking-modal-cab-option.is-selected{border-color:var(--bm-accent);background:#f0f7ff;box-shadow:0 0 0 1px var(--bm-accent)}.booking-modal .booking-modal-cab-option-radio{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.booking-modal .booking-modal-cab-option-img{width:100%;max-width:5.5rem;height:auto;max-height:2.75rem;object-fit:contain}.booking-modal .booking-modal-cab-option-name{display:block;font-size:.6875rem;font-weight:700;color:#111827;line-height:1.2}.booking-modal .booking-modal-cab-option-price{display:block;font-size:.6875rem;font-weight:700;color:var(--bm-accent)}.booking-modal .booking-modal-airport-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.booking-modal .booking-modal-airport-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1fr);gap:1rem}}.booking-modal .booking-modal-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:12rem;overflow-y:auto;margin:0;padding:.25rem 0;list-style:none;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.12)}.booking-modal .booking-modal-suggestions button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:.55rem .875rem;font-size:.8125rem;color:#0f172a;cursor:pointer}.booking-modal .booking-modal-suggestions button:hover{background:#f1f5f9}.booking-modal .booking-modal-loading-overlay{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;background:rgba(255,255,255,.92);backdrop-filter:blur(2px);border-radius:inherit}.booking-modal .booking-modal-loading-spinner{width:3rem;height:3rem;border:4px solid #e2e8f0;border-top:4px solid var(--bm-accent);border-radius:50%;animation:booking-modal-spin .75s linear infinite}.booking-modal .booking-modal-loading-title{margin:0;font-size:1.0625rem;font-weight:700;color:var(--bm-navy);text-align:center}.booking-modal .booking-modal-loading-text{margin:0;max-width:16rem;font-size:.875rem;line-height:1.45;color:var(--bm-muted);text-align:center}@keyframes booking-modal-spin{to{transform:rotate(1turn)}}.booking-modal .booking-modal-panel.is-busy{pointer-events:none;user-select:none}.booking-modal .booking-modal-panel.is-busy .booking-modal-loading-overlay{pointer-events:auto}