.address-field{position:relative}
.address-field.is-verified input{border-color:#00a173;padding-right:42px}
.address-field.is-verified:after{content:"✓";position:absolute;right:14px;top:14px;color:#007d5a;font-weight:900}
.address-suggestions{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 5px);background:#fff;border:1px solid #b9cdd1;border-radius:9px;box-shadow:0 16px 36px #07101426;overflow:hidden}
.address-suggestions[hidden]{display:none}
.address-option{width:100%;border:0;border-bottom:1px solid #e1eaec;background:#fff;color:#071014;text-align:left;padding:13px 14px;display:flex;gap:11px;align-items:flex-start;line-height:1.35}
.address-option:last-child{border-bottom:0}
.address-option:hover,.address-option:focus{background:#e8f8fa;outline:0}
.address-option.is-loading{opacity:.55}
.address-pin{color:#00aabd;font-size:.72rem;margin-top:3px}
.address-empty{padding:13px 14px;color:#5c7077;font-size:.8rem;line-height:1.4}
.pickup-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:-6px}
.location-button,.add-stop,.remove-stop{border:0;background:transparent;color:#007d89;font:800 .8rem "DM Sans",sans-serif;padding:8px 0;cursor:pointer}
.location-status{font-size:.72rem;color:#6b7e85;text-align:right}
.stop-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.remove-stop{font-size:1.35rem;line-height:1;padding:14px 8px}
.schedule-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.schedule-fields[hidden]{display:none}
.booking-schedule-status{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:13px 15px;border:1px solid #c8dadd;border-radius:11px;background:#eef7f8;color:#071014}.booking-schedule-status>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#071014;color:#fff;font-size:1.15rem}.booking-schedule-status>div{display:grid;gap:2px}.booking-schedule-status strong{font-size:.9rem}.booking-schedule-status small{color:#60757c;font-size:.76rem;font-weight:600}
.booking-service-choice{border:0;margin:16px 0 8px;padding:0}.booking-service-choice legend{margin-bottom:9px;color:#34474e;font-size:.8rem;font-weight:800}.booking-service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-service-options label{margin:0;position:relative}.booking-service-options .multi-vehicle-option{grid-column:1/-1}.booking-service-options input{position:absolute;opacity:0;pointer-events:none}.booking-service-options label>span{display:grid;gap:3px;min-height:74px;padding:13px 14px;border:1px solid #c4d6da;border-radius:11px;background:#fff;cursor:pointer}.service-option-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-service-options strong{color:#071014;font-size:.95rem}.booking-service-options b{color:#071014;font-size:1rem;white-space:nowrap}.booking-service-options small{color:#60757c;font-weight:600;line-height:1.3}.booking-service-options input:checked+span{border:2px solid #00aabd;background:#e9fbfc;padding:12px 13px;box-shadow:0 0 0 2px #08d5eb18}.booking-service-options input:disabled+span{opacity:.42;cursor:not-allowed}.booking-service-choice.requires-multi-vehicle .multi-vehicle-option input:checked+span{background:#e9fbfc;opacity:1}
.booking-review{margin-top:18px;border:1px solid #b9d8dc;background:#eaf8f9;color:#071014;border-radius:10px;padding:18px}
.booking-review h3{font-size:1.25rem;letter-spacing:-.025em;margin:0}
.booking-review dl{display:grid;grid-template-columns:1fr auto;gap:9px 20px;margin:16px 0}
.booking-review dt{color:#536a71}.booking-review dd{margin:0;font-weight:800;text-align:right}
.booking-review .estimate{font-size:1.15rem;color:#006c76}
.fare-breakdown{margin:18px -2px 8px;padding:16px;border-top:1px solid #b9d8dc;border-bottom:1px solid #b9d8dc}.fare-breakdown h4{margin:0 0 12px;font:800 .8rem "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#49636b}.fare-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:20px;padding:7px 0}.fare-breakdown>div span{color:#536a71}.fare-breakdown>div strong{text-align:right}.fare-breakdown .discount strong{color:#007b61}.fare-breakdown .total{margin-top:7px;padding-top:14px;border-top:1px solid #b9d8dc;font-size:1.14rem}.fare-breakdown .total span,.fare-breakdown .total strong{color:#006c76;font-weight:800}.fare-breakdown p{margin:11px 0 0;color:#71858d;font-size:.72rem;line-height:1.5}
.trip-charge-notice{margin:14px 0 18px;padding:14px 15px;border-radius:10px;background:#fff;border:1px solid #c7dde0;color:#3e565e}.trip-charge-notice strong{display:block;margin-bottom:7px;color:#071014}.trip-charge-notice p{margin:5px 0;font-size:.8rem;line-height:1.5}
.booking-terms-consent{display:flex;align-items:flex-start;gap:.7rem;margin:14px 0 16px;padding:13px 14px;border:1px solid #31515a;border-radius:10px;background:#08171c;color:#c7d7dc;font-size:.8rem;line-height:1.5}.booking-terms-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:2px}.booking-terms-consent a{color:#2ff0ff;font-weight:800}
.booking-card .primary:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.booking-review[hidden]{display:none}
.flight-fields{margin:4px 0 8px;padding:20px;border:1px solid #75cbd3;border-radius:14px;background:#eaf9fa;color:#071014}.flight-fields[hidden]{display:none}.flight-fields-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:7px}.flight-fields-head small{display:block;color:#007d89;font-weight:800;letter-spacing:.1em}.flight-fields-head h3{margin:4px 0 0;font-size:1.15rem}.flight-fields-head>span{background:#08c7dc;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:800}.flight-fields>p{margin:0 0 16px;color:#536a71}.flight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.flight-grid fieldset{margin:0;padding:10px 12px;border:1px solid #a8cdd1;border-radius:9px;grid-column:1/-1}.flight-grid legend{padding:0 5px;font-weight:800;font-size:.82rem}.flight-grid .choice{display:inline-flex;align-items:center;gap:8px;margin:5px 22px 4px 0;font-weight:600}.flight-grid .choice input{width:auto}.flight-timing{margin-top:15px;padding:13px 14px;border-radius:9px;background:#071014;color:#fff;display:grid;gap:3px}.flight-timing span{color:#c5dce0;font-size:.82rem;line-height:1.45}.flight-confirmed{padding:12px 14px;border-radius:9px;background:#d6f5ed;color:#075d49}
.flight-search{width:100%;margin-top:12px;padding:14px;border:0;border-radius:9px;background:#00c8df;color:#071014;font:800 .9rem "DM Sans",sans-serif;cursor:pointer}.flight-search:disabled{opacity:.62;cursor:wait}.flight-result{margin-top:12px;padding:14px;border-radius:9px;display:grid;gap:5px}.flight-result[hidden]{display:none}.flight-result.is-found{background:#d5f5eb;border:1px solid #6fcdb0;color:#074d3d}.flight-result.is-error{background:#fff0ef;border:1px solid #e0a09a;color:#7b231c}.flight-result span,.flight-result small{line-height:1.45}.flight-result small{opacity:.78}
@media(max-width:620px){.schedule-fields{grid-template-columns:1fr;min-width:0}.schedule-fields label{min-width:0}.pickup-tools{align-items:flex-start;flex-direction:column}.location-status{text-align:left}.booking-card input,.booking-card select{box-sizing:border-box;min-width:0;width:100%;font-size:16px;line-height:1.2}.booking-card input[type="date"],.booking-card input[type="time"]{-webkit-appearance:none;appearance:none;display:block;min-height:48px;height:48px;max-height:48px;padding:10px 12px}.booking-card input[type="date"]::-webkit-date-and-time-value,.booking-card input[type="time"]::-webkit-date-and-time-value{min-height:0;text-align:left}.booking-card input[type="date"]::-webkit-datetime-edit,.booking-card input[type="time"]::-webkit-datetime-edit{padding:0}}
@media(max-width:620px){.booking-card{padding:16px}.booking-card label{margin:10px 0}.booking-card label>span{margin-bottom:5px}.booking-card input,.booking-card select{min-height:48px;height:48px;padding:10px 12px}.booking-card .location-input input{padding-left:38px}.booking-card .location-input b{top:12px}.booking-card .location-input.destination b{top:15px}.booking-card .schedule-fields{gap:4px}.booking-card .pickup-tools{margin-top:-3px;gap:0}.booking-card .add-stop,.booking-card .location-button{padding:6px 0}.booking-service-choice{margin:12px 0 6px}.booking-service-options{grid-template-columns:1fr;gap:7px}.booking-service-options label>span{min-height:58px;padding:9px 12px}.booking-service-options input:checked+span{padding:8px 11px}.booking-card .form-note{margin:9px 0 12px}.booking-schedule-status{margin-bottom:14px;padding:11px 12px}}
@media(max-width:620px){.flight-grid{grid-template-columns:1fr}.flight-fields{padding:16px}.flight-fields-head{flex-direction:column}.booking-review{padding:16px}.booking-review dl{grid-template-columns:1fr;gap:5px;margin:14px 0}.booking-review dd{text-align:left;margin-bottom:8px;overflow-wrap:anywhere}.fare-breakdown{padding:14px 4px}.trip-charge-notice{padding:13px}.booking-card .booking-terms-consent{display:flex;align-items:flex-start;gap:12px;padding:13px;margin:14px 0 16px}.booking-card .booking-terms-consent input[type="checkbox"]{display:block;appearance:auto;-webkit-appearance:checkbox;width:20px;min-width:20px;max-width:20px;height:20px;min-height:20px;max-height:20px;padding:0;margin:1px 0 0;flex:0 0 20px;box-shadow:none;accent-color:#08d5eb}.booking-card .booking-terms-consent>span{display:block;min-width:0;flex:1;margin:0;line-height:1.5;overflow-wrap:break-word;word-break:normal}}
.booking-wrap{grid-template-columns:minmax(340px,.78fr) minmax(0,1.35fr);gap:22px;padding:28px}.booking-intro{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:34px;align-items:end;padding:16px 12px 8px}.booking-intro h2{font-size:clamp(2.5rem,4vw,4.4rem)}.booking-intro>p:not(.eyebrow){max-width:720px}.booking-intro .callout{grid-column:2;grid-row:1/4;margin:0}.booking-card{grid-column:1;grid-row:2;min-width:0;box-shadow:0 20px 60px #16343e26}.booking-map-shell{grid-column:2;grid-row:2;position:relative;min-height:720px;border-radius:22px;overflow:hidden;background:#c9d9dc;border:1px solid #c3d9dc}.booking-map{position:absolute;inset:0;z-index:1}.booking-map-empty{position:absolute;z-index:3;left:24px;top:24px;max-width:300px;background:#061015ed;color:#fff;border:1px solid #24434c;border-radius:14px;padding:16px 18px;box-shadow:0 15px 40px #00101433;display:flex;flex-direction:column;gap:5px}.booking-map-empty[hidden],.booking-map-summary[hidden]{display:none}.booking-map-empty span{color:#abc0c6;font-size:.82rem;line-height:1.45}.booking-map-summary{position:absolute;z-index:3;left:24px;bottom:24px;display:flex;align-items:center;gap:12px;background:#061015ed;color:#fff;border:1px solid #24434c;border-radius:14px;padding:13px 17px;box-shadow:0 15px 40px #00101433}.booking-map-summary strong{font:800 1.15rem Manrope}.booking-map-summary span{color:#b7cbd0}.map-loading-dot{width:10px;height:10px;border-radius:50%;background:#08d5eb;box-shadow:0 0 12px #08d5eb}.fynd-map-marker-wrap{background:transparent;border:0}.fynd-map-marker{width:36px;height:36px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#071014;color:#fff;font:800 .8rem Manrope;box-shadow:0 7px 18px #00101466}.fynd-map-marker.pickup{background:#08d5eb;color:#001014}.fynd-map-marker.stop{background:#fff;color:#071014;border-color:#071014}.leaflet-control-attribution{font-size:10px}.leaflet-control-zoom a{color:#071014!important}@media(max-width:900px){.booking-wrap{grid-template-columns:1fr;padding:28px}.booking-intro{display:block}.booking-intro .callout{margin-top:25px}.booking-card,.booking-map-shell{grid-column:1;grid-row:auto}.booking-map-shell{min-height:390px}}@media(max-width:600px){.booking-wrap{padding:14px;margin-left:10px;margin-right:10px}.booking-intro{padding:18px 10px}.booking-map-shell{min-height:310px}.booking-map-empty{left:14px;top:14px;right:14px}.booking-map-summary{left:14px;bottom:14px}}
.booking-wrap{grid-template-columns:.8fr 1.2fr;gap:80px;padding:70px}.booking-intro{display:block;grid-column:auto;padding:0}.booking-intro h2{font-size:clamp(2.8rem,5vw,5rem)}.booking-intro>p:not(.eyebrow){max-width:none}.booking-intro .callout{display:flex;grid-column:auto;grid-row:auto;margin-top:34px}.booking-card{grid-column:auto;grid-row:auto;box-shadow:0 25px 65px #16343e18}.booking-intro .booking-map-shell{display:block;position:relative;min-height:340px;margin-top:22px;border-radius:18px;overflow:hidden;background:#c9d9dc;border:1px solid #c3d9dc;box-shadow:0 18px 45px #16343e1f;grid-column:auto;grid-row:auto}@media(max-width:900px){.booking-wrap{grid-template-columns:1fr;padding:40px;gap:35px}.booking-intro{padding:0}.booking-intro .booking-map-shell{min-height:360px}}@media(max-width:600px){.booking-wrap{padding:26px;margin-left:16px;margin-right:16px}.booking-intro .booking-map-shell{min-height:290px}}

/* Dark booking surfaces match the rest of FYND without changing the flow. */
.booking-wrap{background:linear-gradient(145deg,#071014,#0b171c);color:#f7fbfc;border:1px solid #182a31;box-shadow:0 32px 90px #0007}
.booking-intro>p:not(.eyebrow){color:#a9bac1}
.booking-intro .callout{background:#0e2229;border:1px solid #1f4650}
.booking-intro .callout span{color:#9db0b8}.booking-intro .callout a{color:#2ff0ff}
.booking-card{background:#0b1115;border:1px solid #213038;box-shadow:0 25px 65px #0008}
.booking-card label,.booking-service-choice legend{color:#dce8eb}
.booking-card input,.booking-card select{background:#111b20;border-color:#30434b;color:#f7fbfc;color-scheme:dark}
.booking-card input::placeholder{color:#7f959e}
.booking-card input:focus,.booking-card select:focus{border-color:#08d5eb;box-shadow:0 0 0 3px #08d5eb24}
.booking-schedule-status{background:#101d23;border-color:#2b4650;color:#f7fbfc}.booking-schedule-status>span{background:#08d5eb;color:#001014}.booking-schedule-status small{color:#9db0b8}
.location-button,.add-stop,.remove-stop{color:#2ff0ff}.location-status,.booking-card .form-note{color:#8fa4ac}
.booking-service-options label>span{background:#10191e;border-color:#2b3c43}.booking-service-options strong,.booking-service-options b{color:#f7fbfc}.booking-service-options small{color:#9db0b8}
.booking-service-options input:checked+span,.booking-service-choice.requires-multi-vehicle .multi-vehicle-option input:checked+span{background:#0d2930;border-color:#08d5eb;box-shadow:0 0 0 2px #08d5eb20}
.address-suggestions{background:#10191e;border-color:#2b4650;box-shadow:0 16px 36px #0009}.address-option{background:#10191e;border-color:#26373e;color:#f7fbfc}.address-option:hover,.address-option:focus{background:#153039}.address-empty{color:#9db0b8}
.flight-fields{background:#0d2026;border-color:#24606b;color:#f7fbfc}.flight-fields>p{color:#a9bac1}.flight-grid fieldset{border-color:#31515a}.flight-timing{background:#05080a;border:1px solid #213038}
.flight-confirmed,.flight-result.is-found{background:#0d3028;border-color:#23745f;color:#baf4df}.flight-result.is-error{background:#301817;border-color:#7b3a35;color:#ffd1cc}
.booking-review{background:#0d2026;border-color:#2b5963;color:#f7fbfc}.booking-review dt,.fare-breakdown>div span{color:#9db0b8}.booking-review .estimate,.fare-breakdown .total span,.fare-breakdown .total strong{color:#2ff0ff}
.fare-breakdown{border-color:#31515a}.fare-breakdown h4{color:#b9d2d8}.fare-breakdown p{color:#8fa4ac}
.trip-charge-notice{background:#10191e;border-color:#2b3c43;color:#b9c9ce}.trip-charge-notice strong{color:#f7fbfc}
@media(max-width:600px){.booking-wrap{border-radius:18px}.booking-card{border-radius:14px}}
