/* Desktop and tablet composition: preserve each site's colours and content. */
.booking-layout > *, .booking-vehicle > *, .passenger-grid > *, .date-time-row > *, .quote-fields > *, .lux-booking-grid > * { min-width:0; }
.booking-nav { height:auto; min-height:100px; padding-block:18px; }
.booking-nav nav { flex-shrink:0; }
.booking-footer { flex-wrap:wrap; align-items:center; }
.booking-footer a { white-space:nowrap; }
.booking-white, .booking-vehicle, .trip-summary { overflow-wrap:anywhere; }
.booking-review dd, .summary-locations strong { overflow-wrap:anywhere; }
.booking-review > div { grid-template-columns:minmax(105px, .8fr) minmax(0,1.6fr) 32px; }
.booking-payment { flex-wrap:wrap; }
.booking-payment label { min-width:140px; flex:1; }
.booking-primary, .booking-secondary, .booking-tabs button { min-height:48px; }
@media(min-width:1101px){
 .atob-booking { max-width:1280px; }
 .booking-layout { grid-template-columns:minmax(0,1fr) 320px; gap:32px; }
 .booking-vehicle { grid-template-columns:minmax(145px,.9fr) minmax(190px,1.15fr) minmax(150px,.8fr); }
 .booking-main > h1 { font-size:34px; }
 .booking-lead { font-size:16px; }
 .booking-progress li button { font-size:14px; }
 .passenger-grid label { font-size:14px; }
 .booking-nav nav a { font-size:14px; }
}
@media(min-width:761px) and (max-width:1100px){
 .booking-nav { padding-inline:28px; gap:20px; flex-wrap:wrap; }
 .booking-nav nav { gap:24px; }
 .booking-nav-right { gap:14px; }
 .book-page { padding:36px 28px 55px; }
 .booking-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
 .booking-main { width:100%; }
 .trip-summary { position:static; width:100%; padding:28px; }
 .summary-locations { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
 .summary-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 25px; }
 .booking-vehicle { grid-template-columns:minmax(145px,.85fr) minmax(0,1fr) 175px; gap:22px; padding:24px; }
 .booking-vehicle .vehicle-price { grid-column:auto; display:flex; flex-direction:column; align-items:stretch; border-top:0; border-left:1px solid #e1e6eb; padding:0 0 0 22px; }
 .booking-vehicle .vehicle-price > strong { text-align:right; }
 .booking-assurances { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
 .booking-assurances p { font-size:14px; }
 .booking-progress li button { font-size:14px; }
 .booking-progress li button span { width:36px; height:36px; font-size:14px; }
 .booking-progress li:before { top:18px; }
 .booking-main > h1 { font-size:32px; }
 .booking-lead { font-size:16px; }
 .booking-white { padding:30px; }
 .route-input input, .route-input input::placeholder { font-size:16px; }
 .passenger-grid label, .date-time-row label { font-size:14px; }
 .passenger-grid input, .passenger-grid select, .passenger-grid textarea, .date-time-row input { font-size:16px; }
 .fleet-grid, .lux-fleet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .quote-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lux-booking-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lux-booking-grid .lux-book-submit { grid-column:1/-1; }
}
@media(max-width:760px){
 .booking-nav { min-height:0; padding:16px 20px; gap:18px; flex-wrap:wrap; }
 .booking-nav .booking-brand { min-width:0; }
 .booking-nav nav { display:flex; order:3; flex:1 0 100%; justify-content:center; gap:36px; padding-top:13px; border-top:1px solid #dce2e7; }
 .booking-nav nav a { min-height:42px; font-size:13px; }
 .booking-nav-right { margin-left:auto; gap:10px; }
 .booking-nav-right a:last-child { padding:8px 13px; }
 .booking-layout { grid-template-columns:minmax(0,1fr); }
 .trip-summary { position:static; }
 .booking-main input, .booking-main select, .booking-main textarea { font-size:16px; }
 .booking-main input::placeholder, .booking-main textarea::placeholder { font-size:15px; }
 .booking-primary { font-size:15px; }
 .booking-main > h1 { font-size:28px; }
 .booking-review > div { grid-template-columns:minmax(80px,.75fr) minmax(0,1.4fr) 28px; font-size:13px; }
 .booking-total { flex-wrap:wrap; }
 .booking-footer { padding-inline:22px; gap:13px 22px; font-size:13px; }
 .booking-footer p { flex-basis:100%; font-size:13px; }
}
