.booking-location-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; }
.booking-mode-btn { min-height:44px; border:1px solid #cbd7e8; border-radius:12px; background:#fff; color:#123154; font-weight:700; cursor:pointer; padding:8px 10px; }
.booking-mode-btn:hover,.booking-mode-btn:focus-visible,.booking-mode-btn.is-active { border-color:#1769e0; background:#edf5ff; color:#0d55bd; }
.booking-map-status { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:8px 0; }
.booking-accuracy-badge { display:inline-flex; align-items:center; min-height:30px; padding:5px 11px; border-radius:999px; background:#eef2f7; color:#475569; font-size:.82rem; font-weight:800; }
.booking-accuracy-badge[data-level="building"] { background:#e7f8ef; color:#087443; }
.booking-accuracy-badge[data-level="street"] { background:#fff4d7; color:#8a5a00; }
.booking-accuracy-badge[data-level="mahalle"],.booking-accuracy-badge[data-level="fallback"] { background:#ffebea; color:#a42d25; }
.booking-map-expand,.booking-map-close { width:42px; height:42px; border:1px solid #cad5e4; border-radius:11px; background:#fff; color:#0b2748; font-size:1.35rem; cursor:pointer; }
.booking-map-close { display:none; position:absolute; right:14px; top:14px; z-index:10001; font-size:1.8rem; }
.booking-map-shell { position:relative; }
.booking-map-shell.is-fullscreen { position:fixed; inset:0; z-index:10000; background:#fff; padding:0; }
.booking-map-shell.is-fullscreen .booking-map { width:100%; height:100vh; border-radius:0; }
.booking-map-shell.is-fullscreen .booking-map-close { display:block; }
body.booking-map-open { overflow:hidden; }
.booking-resolved-address { margin:8px 0; color:#34465d; font-size:.92rem; line-height:1.45; }
.booking-location-confirm-row { display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.booking-confirm-location[disabled] { opacity:.55; cursor:not-allowed; }
.booking-confirm-location.is-confirmed { background:#087443; border-color:#087443; }
.booking-whatsapp-location { text-decoration:none; }
.ae-booking-marker { width:42px; height:42px; border-radius:50% 50% 50% 8px; transform:rotate(-45deg); display:grid; place-items:center; background:linear-gradient(135deg,#0b4fa4,#1ea7e1 58%,#f7b62d); border:3px solid #fff; box-shadow:0 5px 16px rgba(5,31,63,.35); }
.ae-booking-marker span { transform:rotate(45deg); color:#fff; font-weight:900; font-size:13px; text-shadow:0 1px 2px #06315c; }

.booking-map--osm .leaflet-control-attribution {
  font-size: 11px;
}

@media (max-width: 640px) {
  .booking-location-modes { grid-template-columns:1fr; }
  .booking-mode-btn,.booking-location-confirm-row .btn { width:100%; }
  .booking-map-shell:not(.is-fullscreen) .booking-map { min-height:330px; }
}
