/* Focused booking layout; preserves the site's typography and colours. */
#booking [hidden]{display:none!important}
#booking .booking-shell{max-width:900px;margin:28px auto 0}
#booking .booking-grid{grid-template-columns:1fr}
#booking .booking-side{border-right:0;border-bottom:1px solid var(--line);padding:24px 30px}
#booking .booking-side .step-number{display:none}
#booking .booking-side h3{margin:0 0 8px;font-size:1.5rem}
#booking .booking-form{padding:28px 30px}
#booking .vehicle-details-grid{display:grid;grid-template-columns:100px 1fr 1fr;gap:12px}
#booking .new-client-address-card{margin:0}
#booking .new-client-request-card>label{display:block;font-weight:800;margin-bottom:8px}
#booking .new-client-availability-step{margin-top:4px}
#booking .booking-help{margin-top:14px;font-size:.95rem}
#booking .booking-help a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}
#booking input,#booking select,#booking textarea{font-size:16px;min-height:48px}
#booking button{min-height:46px;white-space:normal}
#booking .form-status:not(:empty){padding:12px;border-radius:8px}
#booking .form-status.error{border:1px solid #c87777}
#booking .booking-client-card{min-width:0}
#booking .booking-client-card small{line-height:1.5}
#booking .reveal{opacity:1;transform:none}
@media(max-width:600px){#booking .booking-side,#booking .booking-form{padding:20px}#booking .vehicle-details-grid{grid-template-columns:1fr 1fr}#booking .vehicle-details-grid label:last-child{grid-column:1/-1}#booking .two-col{grid-template-columns:1fr}#booking .booking-client-choice{grid-template-columns:1fr}#booking .new-client-date-actions{flex-direction:column;align-items:stretch}#booking .new-client-date-actions>*{width:100%;min-width:0}}
