/* G1 overrides only the passenger booking area. */
body .booking-layout input,body .booking-layout select,body .booking-layout textarea{font-size:16px;min-height:48px}
body .booking-layout .field>label,body .booking-layout .address-label-row>label{font-size:16px}
body .booking-layout .hint,body .booking-layout .address-input-hint,body .booking-layout .car-price-status,body .booking-layout .step-note,body .booking-layout .map-provider-note{font-size:14px;line-height:1.6}
body .booking-layout .journey-details summary{min-height:48px;font-size:16px}
body .booking-layout .class-price{font-size:21px}
body .booking-layout .map-toggle{display:none}
body .tc24-driver-invite{margin:28px auto;max-width:1200px}
@media(max-width:850px){
  body .booking-layout .map-toggle{display:block;width:100%;margin:12px 0;font-size:16px;min-height:48px}
  body .booking-layout #map-content[hidden]{display:none!important}
  body .booking-layout .car-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  body .booking-layout .car-options label:last-child{grid-column:1/-1}
  body .booking-layout .class-price{font-size:22px}
  body .booking-layout .address-suggestions{max-height:42dvh;overflow-y:auto}
  body .booking-layout .address-suggestions button{min-height:48px;font-size:16px;line-height:1.45}
  body .booking-layout .journey-details-body{padding:14px}
  body .tc24-driver-invite{margin:24px 16px}
}
/* G4: ordered stops stay readable and keyboard-accessible. */
.booking-stops{min-width:0;margin:18px 0;padding:18px;border:1px solid #d9e3dc;border-radius:16px;background:#f8fbf9}.booking-stops h3{font-size:18px;margin:0 0 8px}.booking-stops .stops-help{font-size:14px;line-height:1.6;color:#52675b;margin:8px 0}.stops-list{display:grid;gap:14px}.stops-item{position:relative;padding:14px;background:#fff;border:1px solid #d5e1d9;border-radius:12px;min-width:0}.stops-item label{display:grid;gap:8px;font-size:16px;font-weight:650}.booking-stops input{box-sizing:border-box;width:100%;max-width:100%;font:inherit;font-size:16px;min-height:48px;padding:12px;border:1px solid #bdcfc2;border-radius:10px;margin:0;background:#fff}.booking-stops button{min-height:48px;padding:11px 16px;border:1px solid #c5d4c9;border-radius:10px;background:#fff;font:inherit;font-size:15px;cursor:pointer;white-space:normal}.booking-stops button:disabled{opacity:.5;cursor:default}.booking-stops>button{background:#fff4bb;margin-top:12px}.stops-actions{display:flex;gap:8px;flex-wrap:wrap}.stops-actions button{flex:1 1 80px}.stops-suggestions{position:absolute;z-index:15;left:14px;right:14px;top:100px;max-height:280px;overflow-y:auto;padding:6px;background:#fff;border:1px solid #aec5b6;border-radius:10px;box-shadow:0 12px 24px #203e3026}.stops-suggestions button{display:block;width:100%;text-align:left;border:0;border-radius:6px;line-height:1.5;overflow-wrap:anywhere}.stops-suggestions button:hover,.stops-suggestions button:focus-visible{background:#edf4ef}.stops-preview{overflow-wrap:anywhere;font-size:15px;line-height:1.65}.stops-preview strong{display:block;margin-top:16px}.stops-preview ol{margin:8px 0;padding-left:24px}.stops-preview li{padding:4px 0}.booking-stops [hidden]{display:none!important}@media(max-width:480px){.booking-stops{padding:14px}.stops-item{padding:12px}.booking-stops button{font-size:15px}.stops-suggestions{left:12px;right:12px}}
