.booking-location-controls { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:12px 0 8px; }
.booking-location-controls button { border:1px solid #0a6c4d; background:#e9f7ed; color:#075b3f; border-radius:9px; padding:9px 13px; font-family:inherit; font-size:.76rem; font-weight:700; cursor:pointer; }
.booking-location-controls span { font-size:.7rem; color:#416555; }
#booking-map { height:210px; width:100%; border:2px solid #b3d9bc; border-radius:12px; overflow:hidden; z-index:0; }
.booking-map-hint { margin:7px 0 14px; color:#527763; font-size:.69rem; line-height:1.5; }
.booking-quote { margin:16px 0 8px; padding:0 14px; border-radius:12px; background:#eef8ef; }
.booking-quote:not(:empty) { padding-block:12px; }
.booking-quote div { display:flex; justify-content:space-between; gap:12px; font-size:.75rem; padding:5px 0; }
.booking-quote .booking-total { border-top:1px solid #b3d9bc; margin-top:5px; padding-top:10px; font-size:.9rem; }
.booking-card .form-message { height:auto; min-height:18px; line-height:1.5; }
.booking-card .form-message.error { color:#a32b2b; }
.booking-card button:disabled { opacity:.55; cursor:not-allowed; }
.booking-cleaner-preview { display:flex; align-items:center; gap:12px; background:#eef8ef; padding:10px 12px; border-radius:12px; font-size:.75rem; }
.booking-cleaner-preview[hidden] { display:none; }
.booking-cleaner-preview img { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.booking-cleaner-preview strong,.booking-cleaner-preview small { display:block; }
.booking-cleaner-preview small { color:#527763; margin-top:2px; }
