/* A focused ride flow: service, destination, route and vehicle. */
body.booking-page{background:#fff;color:#19231f}
.booking-app{max-width:1440px}.booking-header{border:0;height:calc(76px + env(safe-area-inset-top,0px));padding-inline:22px;position:relative}.booking-header .mode-badge{margin-left:auto}.booking-header-title{display:none;font-size:21px;line-height:1;margin:0;font-weight:800;letter-spacing:-.7px}.booking-header .icon-button{background:none;border:0}.booking-header .wordmark{font-size:23px;margin-right:0}.booking-progress{display:none}
body[data-stage=itinerary] .booking-header{justify-content:center}body[data-stage=itinerary] .booking-header-title{display:block}body[data-stage=itinerary] .booking-header .wordmark,body[data-stage=itinerary] .booking-header .mode-badge{display:none}body[data-stage=itinerary] #booking-back{position:absolute;left:14px}body[data-stage=vehicle] .booking-header,body[data-stage=pin] .booking-header,body[data-stage=payment] .booking-header{display:none}
.booking-hub.panel{max-width:650px;padding:35px 22px 40px;min-height:calc(100svh - 76px);display:flex;flex-direction:column}.hub-eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:700;color:#83928b;margin-bottom:13px}.booking-hub h1{font-size:clamp(29px,7.6vw,42px);font-weight:800;letter-spacing:-1.5px;line-height:1.14;margin:0 0 26px}.service-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-tile{border:1px solid #edf0ee;background:#f1f3f2;border-radius:19px;min-width:0;padding:10px 10px 19px;display:flex;flex-direction:column;align-items:center;color:#202923;transition:background .18s,transform .18s}.service-tile:hover{background:#e6f2e9;transform:translateY(-2px)}.service-visual{display:block;height:94px;width:100%;position:relative;margin-bottom:4px}.service-tile strong{font-size:18px;letter-spacing:-.6px;font-weight:700;white-space:nowrap}.service-tile>span:last-child{font-size:12px;color:#808a84;margin-top:6px}.service-calendar{position:absolute;bottom:9px;left:16%;width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#287f54;background:#fff;box-shadow:0 4px 12px #203e2b14}.service-calendar .ui-icon{width:25px;height:25px}
.hub-search{display:flex;align-items:center;gap:7px;border-radius:18px;background:#f0f3f1;padding:9px;margin-top:23px;min-height:69px}.hub-search button{border:0;display:flex;align-items:center;justify-content:center;gap:9px;background:none;color:#252e29;min-height:47px;min-width:0}.hub-search #hub-destination{flex:1;justify-content:flex-start;padding:0 6px;font-size:17px;letter-spacing:-.6px;font-weight:800;white-space:nowrap}.hub-search #hub-destination .ui-icon{height:23px;width:23px}.hub-search #hub-plan{background:#fff;border-radius:12px;padding:0 10px;font-size:11px;font-weight:700;gap:6px}.hub-search #hub-plan .ui-icon{width:17px;height:17px}.hub-note{font-size:12px;color:#839087;line-height:1.8;margin:22px 2px 32px}.hub-signature{margin-top:auto;padding-top:40px;display:flex;gap:11px;align-items:center}.hub-signature>span{width:32px;height:2px;background:#82b895}.hub-signature p{margin:0;font-size:10px;line-height:1.8;color:#9ba69f}.hub-signature strong{font-weight:500;color:#76857b}
.itinerary.panel{display:block;max-width:650px;margin-top:0;padding:12px 20px 30px}.route-fields{border:1.8px solid #2c885c;border-radius:17px;padding:4px 12px 4px 43px;box-shadow:none;background:#fff}.route-dots{top:28px;bottom:28px;left:18px}.route-dots i{width:11px;height:11px;border:3px solid #2c885c;background:#fff}.route-dots i:last-child{border-color:#173d2c;background:#fff}.route-dots b{background:#35765a;width:1.5px;margin:0}.field-wrap label{padding-top:9px;font-size:8px;letter-spacing:1.2px;color:#8da196}.field-wrap input{font-size:16px;height:44px;letter-spacing:-.4px;color:#212c25}.field-wrap input::placeholder{color:#87918a}.destination-field{border-color:#e9eeeb}.locate.icon-button{background:none;border:0;color:#2d8058;min-width:35px;height:35px;margin:0}.locate .ui-icon{width:21px;height:21px}
.gps-inline{display:flex;align-items:center;gap:7px;margin:13px 3px 0;color:#8a9b90;font-size:10px}.gps-inline small{margin-left:auto;font-size:9px;color:#91a397}.gps-inline .signal-dot{width:5px;height:5px}.gps-inline.has-position .signal-dot{background:#319360}.gps-inline:has(.connected){color:#397656}.feedback{font-size:10px;margin:7px 3px 17px;color:#7b8e80;line-height:1.65}.schedule-toggle{margin:12px 1px 14px;font-size:11px;min-height:30px}.schedule-toggle input{width:15px;height:15px}.schedule-toggle .ui-icon{width:18px;height:18px}.schedule-fields{padding:3px 0 17px}.schedule-fields label{font-size:11px;color:#6f8376}.schedule-fields input{border-radius:13px}
.suggestions{position:static;max-height:none;overflow:visible;margin:0;border:0;border-radius:0;box-shadow:none;background:none}.suggestions .place-result,.place-list .place-result{display:flex;align-items:center;gap:14px;width:100%;padding:17px 3px;min-height:78px;background:#fff;border:0;border-bottom:1px solid #edf0ee;color:#1f2923;text-align:left}.place-result:hover,.place-result:focus-visible{background:#f5f9f6}.result-icon{width:29px;height:29px;flex-shrink:0;display:grid;place-items:center;color:#7d8981}.result-icon .ui-icon{width:23px;height:23px;stroke-width:1.65}.result-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.result-copy strong{font-size:15px;letter-spacing:-.4px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.4}.result-copy small{font-size:11px;line-height:1.5;color:#8d9790;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.result-distance{font-size:10px;color:#96a198;flex-shrink:0}.suggestions p{font-size:12px;line-height:1.7;color:#78877d;padding:18px 3px}
.nearby-section{margin-top:22px}.nearby-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px}.nearby-heading h2{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#8b9a90;font-weight:700;margin:0}.nearby-heading>span{font-size:9px;color:#a3afa6}.nearby-feedback{margin:18px 3px;font-size:12px;line-height:1.8;color:#8a988e}.nearby-feedback:empty{display:none}.route-submit{margin-top:23px;min-height:54px;border-radius:30px;font-size:14px}.itinerary .privacy-note{font-size:9px;margin-top:21px;line-height:1.8;color:#98a59b}
.trip-layout{min-height:100svh}.map-shell{height:calc(100svh - 322px);min-height:310px;background:#f7f7f6}.map-route{top:calc(18px + env(safe-area-inset-top,0px));left:65px;right:14px;border:0;min-height:49px;border-radius:17px;padding:12px 13px;font-size:12px;gap:8px;box-shadow:0 6px 24px #263a4219}.map-route span{font-weight:650}.map-route b{line-height:1}.map-route .ui-icon{width:15px;height:15px}.map-back{top:calc(20px + env(safe-area-inset-top,0px));left:13px;width:42px;height:44px;min-width:42px;background:#fff}.map-status{left:14px;bottom:40px;font-size:8px;max-width:70%}.map-locate{right:15px;bottom:44px}.leaflet-control-attribution{font-size:7px!important;margin-bottom:22px!important;max-width:calc(100vw - 40px)}.leaflet-bottom.leaflet-left{bottom:19px}.trip-sheet{margin-top:-20px;padding:10px 16px calc(20px + env(safe-area-inset-bottom,0px));border:0;border-radius:25px 25px 0 0;box-shadow:0 -8px 25px #223a2b0b}.sheet-handle{width:40px;height:4px;margin:0 auto 16px}
.vehicle-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-rows:auto 74px;align-items:center;gap:7px 8px;width:100%;padding:17px 15px 9px;border:1.8px solid #2f895e;border-radius:17px;background:#fff;box-shadow:none;color:#1f2923;overflow:hidden}.vehicle-price{grid-column:1;grid-row:1;align-items:flex-start;gap:3px;align-self:start}.vehicle-price strong{font-size:26px;font-weight:800;letter-spacing:-.9px;color:#1f2923;line-height:1.15}.vehicle-price small{font-size:9px;line-height:1.5;color:#8a968d}.vehicle-details{grid-column:2;grid-row:1;text-align:right;gap:3px;align-self:start}.vehicle-details strong{font-size:23px;font-weight:800;letter-spacing:-.8px;color:#202923;line-height:1.15}.vehicle-details>span{font-size:11px;line-height:1.5;color:#7b887f}.vehicle-card>.rav4-art{grid-column:2;grid-row:2;width:155px;max-width:118%;height:79px;justify-self:end;margin-right:-3px}.vehicle-specs{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;gap:11px}.vehicle-specs>span{display:flex;align-items:center;gap:6px;color:#7f8b82;font-size:11px;white-space:nowrap}.vehicle-specs .ui-icon{height:15px;width:15px}.vehicle-specs>small{display:block;color:#54886a;background:#eff6ef;padding:4px 6px;border-radius:4px;font-size:7px;font-weight:700;letter-spacing:1px}.route-metrics{gap:7px;margin:12px 1px 4px;font-size:10px;color:#7f9285}.route-time{margin-left:auto;border:0;padding:0;background:none;color:#7c9283;font-size:9px}.driver-eta{margin:0;padding:4px 1px 6px;color:#8e9c92;font-size:9px;line-height:1.5}.price-details{margin:0 0 9px;border:0}.price-details summary{min-height:28px;font-size:10px;color:#6e8878}.price-details p{font-size:9px}.price-line{font-size:11px}.trip-sheet .cta{min-height:55px;border-radius:32px;font-size:16px;font-weight:750;background:#2b875b;border:0;box-shadow:none}.trip-sheet .subtle{font-size:13px;color:#7b8c81;line-height:1.8}.trip-sheet h2{font-size:28px;line-height:1.15;font-weight:800;letter-spacing:-1px;color:#1f2d24}.trip-sheet .step-kicker{font-size:9px}.trip-sheet .text-button{min-height:40px;font-size:11px}.payment-summary{font-size:12px}.payment-summary strong{font-size:26px}.pickup-address{font-size:13px}.payment-method{font-size:11px}.consent{font-size:11px}
.location-permission{border-radius:26px}.location-permission h2{font-size:31px}.location-permission .cta{border-radius:30px;font-size:13px;padding:15px;gap:8px}.location-permission p{font-size:13px;color:#7c8d81}
@media(min-width:600px){.booking-hub.panel{padding-top:48px}.service-visual{height:125px}.service-tile{padding-bottom:23px}.service-tile strong{font-size:23px}.service-tile>span:last-child{font-size:14px}.service-calendar{width:51px;height:51px;bottom:12px}.hub-search #hub-destination{font-size:23px;padding-left:12px}.hub-search #hub-plan{font-size:13px;padding-inline:17px}.hub-search{min-height:80px}.hub-note{font-size:13px}.itinerary.panel{padding-top:30px}.result-copy strong{font-size:17px}.result-copy small{font-size:12px}.place-result{gap:18px}.trip-sheet{padding-inline:25px}.vehicle-card{grid-template-rows:auto 85px}.vehicle-card>.rav4-art{width:200px;height:100px}.vehicle-details strong{font-size:27px}.vehicle-price strong{font-size:30px}.vehicle-details>span{font-size:13px}.vehicle-specs>span{font-size:13px}}
@media(min-width:800px){.booking-header{height:86px;max-width:1100px;margin:auto;padding-inline:35px}.booking-hub.panel{max-width:770px;min-height:calc(100svh - 86px);padding-top:55px}.booking-hub h1{font-size:45px;margin-bottom:32px}.service-options{gap:18px}.service-visual{height:165px}.service-tile{padding-bottom:30px;border-radius:23px}.hub-search{margin-top:28px}.itinerary.panel{max-width:720px;padding:30px 30px 50px}.trip-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;min-height:100svh}.map-shell{height:100svh;min-height:620px;position:sticky;top:0}.trip-sheet{margin:0;border-radius:0;padding:32px 23px;align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-left:1px solid #edf1ee}.sheet-handle{display:none}.map-route{max-width:570px}.map-status{bottom:40px}.map-back{top:20px}.map-route{top:18px}.leaflet-control-attribution{max-width:calc(100% - 15px)}.vehicle-card{grid-template-rows:auto 90px;padding:20px 16px 13px}.vehicle-card>.rav4-art{width:180px;height:92px}.vehicle-price strong{font-size:28px}.vehicle-details strong{font-size:25px}.vehicle-details>span{font-size:12px}.route-metrics{margin-top:20px;font-size:11px}.route-time{font-size:9px}.driver-eta{font-size:10px;padding-bottom:12px}.price-details{margin-bottom:18px}.trip-sheet .cta{min-height:58px}.trip-sheet .price-details summary{min-height:38px}}
@media(max-width:359px){.booking-header{padding-inline:14px}.booking-header .wordmark{font-size:21px}.booking-hub.panel{padding:28px 16px 30px}.hub-eyebrow{font-size:7px;letter-spacing:1.1px}.booking-hub h1{font-size:29px;letter-spacing:-1.1px}.service-options{gap:9px}.service-tile{padding:7px 6px 16px}.service-visual{height:78px}.service-tile strong{font-size:15px;letter-spacing:-.5px}.service-tile>span:last-child{font-size:10px}.service-calendar{height:33px;width:33px;left:13%}.service-calendar .ui-icon{height:21px;width:21px}.hub-search{padding:7px;gap:3px}.hub-search #hub-destination{font-size:15px;gap:7px;padding-left:2px}.hub-search #hub-destination .ui-icon{width:20px;height:20px}.hub-search #hub-plan{font-size:10px;gap:5px;padding-inline:8px}.itinerary.panel{padding-inline:15px}.result-copy strong{font-size:14px}.result-copy small{font-size:10px}.result-distance{font-size:9px}.suggestions .place-result,.place-list .place-result{gap:10px;padding-block:16px}.vehicle-details strong{font-size:21px}.vehicle-price strong{font-size:23px}.vehicle-card>.rav4-art{width:145px;height:74px;max-width:122%}.vehicle-details>span{font-size:10px}.vehicle-specs>span{font-size:10px}.trip-sheet .cta{font-size:14px}.route-time{font-size:8px}.map-route{font-size:11px;gap:5px}.map-route .ui-icon{width:13px;height:13px}.trip-sheet{padding-inline:14px}}
.map-status{top:auto}
.result-copy small,.result-distance,.nearby-feedback,.hub-note,.hub-signature p,.service-tile>span:last-child,.feedback,.driver-eta,.vehicle-price small,.vehicle-details>span,.vehicle-specs>span,.itinerary .privacy-note{color:#69796e}
@media(prefers-reduced-motion:reduce){.service-tile{transition:none}}
