.booking-intro h2 { font-size:clamp(52px,4.8vw,78px); }
.booking-intro > p:not(.section-kicker) { margin:24px 0; }
.booking-trust { display:none; }
.route-map-panel { margin-top:30px; border:1px solid #36342e; border-radius:20px; overflow:hidden; background:#151513; color:#f3f0e9; min-width:0; }
.map-heading { display:flex; align-items:center; justify-content:space-between; padding:16px 20px; border-bottom:1px solid #36342e; }
.map-heading .micro-label { color:#c8b596; }
.map-heading > span:last-child { font-size:12px; letter-spacing:.15em; color:#d8c8af; }
.route-map { height:320px; background:#20211f; z-index:0; }
.map-footer { padding:18px 20px; }
#map-summary { font-size:20px; font-weight:500; letter-spacing:-.02em; }
#map-summary:empty { display:none; }
#map-status { font-size:11px; line-height:1.6; color:#c0baaf; margin:8px 0; }
#map-retry { font-size:10px; color:#dcc7a5; background:none; border:0; padding:6px 0; cursor:pointer; }
.route-marker { display:grid; place-items:center; }
.route-marker span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; border:2px solid #151513; background:#e3ceac; color:#151513; font:700 12px var(--sans); box-shadow:0 2px 12px #0006; }
.route-map .leaflet-control-attribution { background:#151513e8; color:#d9d3c8; font-size:8px; }
.route-map .leaflet-control-attribution a { color:#e1caab; }
.route-map .leaflet-bar a { background:#f3f0e9; color:#151513; }
.address-search { position:relative; min-width:0; }
.address-options { position:absolute; top:calc(100% + 5px); left:0; right:0; z-index:20; max-height:240px; overflow-y:auto; background:white; border:1px solid #d9cebc; border-radius:12px; box-shadow:0 12px 30px #29231826; }
.address-options[hidden] { display:none; }
.address-option { padding:13px 14px; cursor:pointer; border-bottom:1px solid #eee9e0; }
.address-option:last-child { border:0; }
.address-option:hover,.address-option[aria-selected="true"] { background:#f0eadd; }
.address-option strong { display:block; font-size:12px; font-weight:600; line-height:1.4; }
.address-option span { display:block; color:#756e63; margin-top:4px; font-size:10px; line-height:1.4; }
.address-hint { display:block; font-size:10px; color:#746f66; line-height:1.4; margin-top:5px; }
.address-hint:empty { display:none; }
.route-field { position:relative; }
.route-field:focus-within { z-index:25; }
.stop-row .remove-stop { z-index:2; }
.stops-container { display:grid; gap:10px; }
#quote { scroll-margin-top:85px; }
@media(min-width:1101px) {
  .booking-intro { top:95px; }
  .booking-shell { gap:clamp(32px,4vw,70px); }
}
@media(max-width:1100px) {
  .route-map-panel { margin:22px 0 4px; }
  .booking-intro { display:block; }
  .booking-intro > p:not(.section-kicker) { max-width:620px; }
  .booking-shell { gap:30px; }
}
@media(max-width:600px) {
  .route-map { height:260px; }
  .map-heading { padding:14px 15px; }
  .map-footer { padding:14px 15px; }
  .route-map-panel { border-radius:14px; }
}
