/* Owner20Oct: OrbiTrip customer cards and checkout. No search/header/global selectors. */
#vehicle-results#vehicle-results .orv-card.orb-offer {border:1px solid #dfe6eb;border-radius:16px;box-shadow:0 4px 18px #16324b08}
#vehicle-results#vehicle-results .orv-card .orb-offer-photo {aspect-ratio:1.5;height:auto!important;min-height:0;flex:0 0 auto;overflow:hidden;border-radius:15px 15px 0 0}
#vehicle-results#vehicle-results .orv-card .orb-offer-photo img {width:100%;height:100%;object-fit:cover}
#vehicle-results#vehicle-results .orv-card .orv-purchase {margin-top:auto;border-top:1px solid #edf1f4;padding:18px 20px 20px;background:#fafcfd}
#vehicle-results#vehicle-results .orv-card .orv-price {font-size:25px;line-height:1.3;color:#16324b}
#vehicle-results#vehicle-results .orv-card .orv-book {width:100%;min-height:54px;border-radius:10px;font-size:18px;font-weight:700;background:#c84c0d;color:white}
#vehicle-results#vehicle-results .orv-card .orb-rv5-final {display:block;margin-top:6px;font-size:13px;line-height:1.5;color:#536779}
#vehicle-results#vehicle-results .orv-card .ogt {padding:20px!important}
#vehicle-results#vehicle-results .orv-card .ogt-name strong {font-size:20px!important;line-height:1.3!important}
#vehicle-results#vehicle-results .orv-card .ogt-car {font-size:16px;line-height:1.5}
#vehicle-results#vehicle-results .orv-card .ogt-specs {flex-wrap:wrap;gap:12px}

/* Three existing JSX subtrees; route/total first in DOM, confirmation last. */
.orb-booking.booking151 .booking263-layout {display:grid!important;grid-template-columns:minmax(0,1fr) 350px;grid-template-areas:"form order" "form confirm";align-items:start;gap:24px}
.orb-booking.booking151 .booking263-layout>.orb-order {grid-area:order;display:block;position:static;margin:0;padding:22px;border:1px solid #dfe6eb;border-radius:14px;background:white;min-width:0}
.orb-booking.booking151 .booking263-layout>.orb-form-column {grid-area:form}
.orb-booking.booking151 .booking263-layout>.orb-confirm-area {grid-area:confirm;min-width:0;margin:0}
.orb-booking.booking151 .booking263-layout .orb-order-toggle {display:flex;align-items:center;gap:12px;cursor:pointer;margin:0 0 18px}
.orb-booking.booking151 .booking263-layout .orb-order-toggle-price {display:none}
.orb-booking.booking151 .booking263-layout .orb-order-heading {font-size:23px;line-height:1.3}
.orb-booking.booking151 .booking263-layout .orb-order-content {display:grid;gap:18px;margin:0}
.orb-booking.booking151 .booking263-layout .orb-order:not([open]) .orb-order-content {display:none}
.orb-booking.booking151 .booking263-layout .orb-order-trip {padding:0;background:transparent}
.orb-booking.booking151 .booking263-layout .orb-order-route-title {font-size:17px;line-height:1.5;overflow-wrap:anywhere}
.orb-booking.booking151 .booking263-layout .orb-stop-list {margin-top:18px}
.orb-booking.booking151 .booking263-layout .orb-stop-name {font-size:16px;line-height:1.5;overflow-wrap:anywhere}
.orb-booking.booking151 .booking263-layout .orb-total {border-top:1px solid #dfe6eb;background:#f6f9fa;color:#16324b;border-radius:10px;padding:18px}
.orb-booking.booking151 .booking263-layout .orb-total .orb-label {color:#536779}
.orb-booking.booking151 .booking263-layout .orb-native-price {font-size:27px;font-weight:750;color:#16324b}
.orb-booking.booking151 .booking263-layout .orb-booking-form {padding:24px;border:1px solid #dfe6eb;border-radius:14px;box-shadow:none}
.orb-booking.booking151 .booking263-layout #booking-form#booking-form .orb-field {min-height:58px!important;font-size:16px!important;line-height:1.5;border:1px solid #a4b3c0;border-radius:10px;background:white;padding:14px 16px;max-width:100%;box-sizing:border-box;scroll-margin-block:96px 120px}
.orb-booking.booking151 .booking263-layout #booking-form#booking-form textarea.orb-field {min-height:134px!important;height:auto!important;resize:vertical}
.orb-booking.booking151 .booking263-layout #booking-form#booking-form .orb-label {font-size:14px;line-height:1.5;letter-spacing:0;text-transform:none;margin-bottom:7px}
.orb-booking.booking151 .booking263-layout #booking-form#booking-form>fieldset>div+div {margin-top:20px}
.orb-booking.booking151 .booking263-layout .orb-fields>:last-child {grid-column:1/-1}
.orb-booking.booking151 .booking263-layout .orb-payment-option {min-height:62px!important;padding:15px;border-radius:10px;gap:12px}
.orb-booking.booking151 .booking263-layout .orb-payment-option:has(input:checked) {border:2px solid #286044;background:#f3faf5}
.orb-booking.booking151 .booking263-layout .orb-confirm-area .orb-btn {min-height:56px;font-size:18px;border-radius:10px}

@media(max-width:767px) {
 .orb-booking.booking151 > .orb-wrap {width:100%!important;max-width:none;padding-inline:0}
 #vehicle-results#vehicle-results .orb-offer-grid {grid-template-columns:minmax(0,1fr);gap:26px}
 #vehicle-results#vehicle-results .orv-card .orb-offer-photo {aspect-ratio:1.42}
 #vehicle-results#vehicle-results .orv-card .ogt {padding:20px 18px!important}
 #vehicle-results#vehicle-results .orv-card .orv-purchase {padding:18px}
 .orb-booking.booking151 .booking151-selected {display:none}
 .orb-booking.booking151 .booking263-layout {grid-template-columns:minmax(0,1fr);grid-template-areas:"order" "form" "confirm";gap:22px}
 .orb-booking.booking151 .booking263-layout>.orb-order {display:block!important;padding:20px 18px}
 .orb-booking.booking151 .booking263-layout .orb-order-heading {font-size:23px}
 .orb-booking.booking151 .booking263-layout .orb-order-vehicle {display:block}
 .orb-booking.booking151 .booking263-layout .orb-vehicle-layout {display:block}
 .orb-booking.booking151 .booking263-layout .orb-vehicle-layout>:first-child,
 .orb-booking.booking151 .booking263-layout .orb-vehicle-decoration {display:none!important}
 .orb-booking.booking151 .booking263-layout .orb-order-driver {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:9px;background:#f5f8fa;min-width:0}
 .orb-booking.booking151 .booking263-layout .orb-order-driver>div {min-width:0}
 .orb-booking.booking151 .booking263-layout .orb-driver-avatar {width:36px;height:36px;flex:0 0 36px}
 .orb-booking.booking151 .booking263-layout .orb-total {margin-top:6px;padding:18px}
 .orb-booking.booking151 .booking263-layout .orb-booking-form {padding:22px 18px}
 .orb-booking.booking151 .booking263-layout .orb-form-title {font-size:26px!important;line-height:1.2;margin-bottom:24px!important}
 .orb-booking.booking151 .booking263-layout .orb-fields {grid-template-columns:minmax(0,1fr);gap:20px}
 .orb-booking.booking151 .booking263-layout .orb-confirm-area>.orb-payment-badge {display:flex}
 .orb-booking.booking151 .orb-mobile-book {display:none!important}
 .orb-booking.booking151 .booking263-layout :is(input,textarea,select) {font-size:16px}
 .orb-booking.booking151 .booking263-layout>.orb-confirm-area {padding-bottom:20px}
}

/* Bounded, keyboard-free time menus. Existing booking layout and validation stay intact. */
.booking151-time .orb-time264{position:relative;min-width:0}
.booking151-time .orb-time264 .orb-time264-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:66px!important;padding:11px 16px!important;text-align:start;cursor:pointer;background:#fff;color:#183847;appearance:none}
.booking151-time .orb-time264-trigger:focus-visible{outline:3px solid #00a78e;outline-offset:2px}
.booking151-time .orb-time264-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.booking151-time .orb-time264-caption{font-size:11px;line-height:1.15;color:#657b83}
.booking151-time .orb-time264-value,.booking151-time .orb-time264-placeholder{font-size:16px;line-height:1.35;font-weight:500}
.booking151-time .orb-time264-chevrons{display:flex;flex-direction:column;justify-content:center;gap:6px;flex:0 0 14px}
.booking151-time .orb-time264-chevrons svg{display:block;width:14px;height:8px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.booking151-time .orb-time264-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:25000;overflow-y:scroll;overscroll-behavior:contain;touch-action:pan-y;background:white;border:1px solid #d8e1e3;border-radius:10px;box-shadow:0 10px 28px #153a452b;scrollbar-width:auto;scrollbar-color:#819c9e #eff4f4}
.booking151-time .orb-time264-options.is-above{top:auto;bottom:calc(100% + 6px)}
.booking151-time .orb-time264-options::-webkit-scrollbar{width:7px}
.booking151-time .orb-time264-options::-webkit-scrollbar-track{background:#eff4f4;border-radius:8px}
.booking151-time .orb-time264-options::-webkit-scrollbar-thumb{background:#819c9e;border-radius:8px;border:1px solid #eff4f4}
.booking151-time .orb-time264-option{display:block;width:100%;height:44px;min-height:44px;padding:10px 16px;border:0;border-radius:0;background:white;color:#183847;font-family:inherit;font-size:16px;font-weight:500;line-height:24px;text-align:start;cursor:pointer}
.booking151-time .orb-time264-option.is-active{background:#eef6f5}
.booking151-time .orb-time264-option[aria-selected=true]{background:#e2f3ee;color:#08765f;font-weight:700}
.booking151-time .orb-time264-trigger[aria-invalid=true]{border-color:#b42318!important}

/* Explicit optional review invitation permission; never preselected. */
.orb-booking.booking151 .orb-review-consent264{display:flex;align-items:flex-start;gap:10px;margin:14px 0;color:#334f59;font-size:13px;line-height:20px;cursor:pointer}
.orb-booking.booking151 .orb-review-consent264 input[type=checkbox]{appearance:auto;flex:0 0 20px;width:20px!important;height:20px!important;min-height:20px!important;margin:1px 0 0;padding:0!important;accent-color:#08765f;cursor:pointer}
.orb-booking.booking151 .orb-review-consent264 input:focus-visible{outline:2px solid #08765f;outline-offset:3px}
