.cpjobs-location-preview { margin-top: 1.25rem; width: 100%; }
.cpjobs-location-preview[hidden], .cpjobs-location-map[hidden] { display: none !important; }
.cpjobs-location-map { width: 100%; height: 280px; min-width: 0; border-radius: 10px; border: 1px solid #e2e8f0; overflow: hidden; background: #f1f5f9; }
.cpjobs-location-map .maplibregl-canvas-container { cursor: default; }
.cpjobs-location-pin { width: 20px; height: 20px; box-sizing: border-box; border: 3px solid #fff; border-radius: 50%; background: #0f79f3; box-shadow: 0 1px 5px #0f172a80; pointer-events: none; }
.cpjobs-location-pin-editable { pointer-events: auto; cursor: grab; }
.cpjobs-location-pin-editable:active { cursor: grabbing; }
.cpjobs-place-results { display: grid; gap: 4px; margin: .5rem 0; }
.cpjobs-place-results[hidden] { display: none; }
.cpjobs-place-results button { text-align: left; padding: .65rem; background: #fff; color: #18364b; border: 1px solid #cbd5e1; border-radius: 6px; cursor: pointer; }
.cpjobs-place-results button:hover,.cpjobs-place-results button:focus-visible { outline: 2px solid #0f79f3; }
.cpjobs-map-status { margin: .5rem 0 0; font-size: .875rem; }
.cpjobs-location-map .maplibregl-ctrl-attrib { font: 11px/18px Arial, sans-serif; background: #ffffffed; color: #334155; padding: 0 5px; }
.cpjobs-location-map .maplibregl-ctrl-attrib a { color: #334155; text-decoration: underline; }
[data-theme="dark"] .cpjobs-location-map { border-color: #2b3648; background: #1e293b; }
@media (max-width: 600px) { .cpjobs-location-map { height: 240px; } }
