/* A compact location invitation, isolated from global button styles. */
.bmw-geo-ask.bmw-geo-ask{box-sizing:border-box;position:fixed;left:auto;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:99990;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:16px;width:440px;max-width:calc(100vw - 32px);margin:0;padding:24px;border:1px solid #d5e2da;border-radius:20px;background:#fff;box-shadow:0 14px 48px #0a1c131f;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease;font-family:'DM Sans',sans-serif;color:#123126;text-align:left}
.bmw-geo-ask.bmw-geo-ask *{box-sizing:border-box}
.bmw-geo-ask.bmw-geo-ask.is-in{opacity:1;transform:none}
.bmw-geo-ask .bmw-geo-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d5e2da;background:#eef5f0;border-radius:13px;color:#1f6b4a}
.bmw-geo-ask .bmw-geo-icon svg{width:23px;height:23px}
.bmw-geo-ask .bmw-geo-copy{min-width:0;padding:0;display:block}
.bmw-geo-ask .bmw-geo-copy small{display:block;margin:0 20px 7px 0;font:600 9px/1.4 'Inter',sans-serif!important;letter-spacing:1.2px;text-transform:uppercase;color:#1f6b4a}
.bmw-geo-ask .bmw-geo-copy h2{margin:0 10px 8px 0!important;padding:0!important;font:600 21px/1.2 'DM Sans',sans-serif!important;letter-spacing:-.5px!important;color:#123126!important}
.bmw-geo-ask .bmw-geo-copy p{display:block;min-width:0;margin:0!important;padding:0!important;font:400 13px/1.55 'DM Sans',sans-serif!important;color:#627369!important}
.bmw-geo-ask .bmw-geo-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:18px}
.bmw-geo-ask.bmw-geo-ask button{appearance:none!important;cursor:pointer!important;display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:42px;width:auto!important;margin:0!important;padding:11px 16px!important;border:1px solid transparent!important;border-radius:24px!important;background:#1f6b4a!important;color:#fff!important;box-shadow:none!important;font:600 12px/1.3 'DM Sans',sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;transition:background .15s}
.bmw-geo-ask.bmw-geo-ask button:hover{background:#164e36!important}
.bmw-geo-ask.bmw-geo-ask [data-geo-no]{background:transparent!important;color:#53665b!important;padding:11px 10px!important}
.bmw-geo-ask.bmw-geo-ask [data-geo-no]:hover{background:#f3f6f1!important}
.bmw-geo-ask.bmw-geo-ask [data-geo-close]{position:absolute;right:9px;top:8px;min-height:32px;width:32px!important;height:32px;padding:0!important;font-size:22px!important;font-weight:400!important;color:#627369!important;background:transparent!important}
.bmw-geo-ask.bmw-geo-ask button:disabled{opacity:.65;cursor:default!important}
.bmw-geo-ask.bmw-geo-ask button:focus-visible{outline:2px solid #1f6b4a!important;outline-offset:3px}
.bmw-geo-ask .bmw-geo-status:not(:empty){margin-top:12px!important;font-size:12px!important}
@media(max-width:520px){.bmw-geo-ask.bmw-geo-ask{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-width:none;padding:20px;gap:12px;grid-template-columns:36px minmax(0,1fr);border-radius:18px}.bmw-geo-ask .bmw-geo-icon{width:36px;height:36px;border-radius:11px}.bmw-geo-ask .bmw-geo-copy h2{font-size:19px!important}.bmw-geo-ask .bmw-geo-actions{margin-left:-48px;gap:6px}.bmw-geo-ask.bmw-geo-ask [data-geo-yes]{flex:1}.bmw-geo-ask .bmw-geo-status:not(:empty){margin-left:-48px!important}}
@media(prefers-reduced-motion:reduce){.bmw-geo-ask.bmw-geo-ask{transition:none}}

/* distance, wherever a listing is shown */
.bmw-lp .bmw-geo-distance{display:inline-flex;align-items:center;gap:5px;font:600 12px/1.3 'DM Sans',sans-serif;color:#1f6b4a}
.bmw-directory-card__proximity{display:inline-flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto;flex-wrap:wrap}
.bmw-directory-card .bmw-directory-card__distance{display:inline-flex;align-items:center;gap:5px;margin:0!important;padding:0!important;border:0;border-radius:0;background:transparent;color:#1f6b4a;font:500 11px/1.4 'DM Sans',sans-serif!important;white-space:nowrap}
.bmw-directory-card__distance svg{width:14px;height:14px;flex:0 0 14px}
.bmw-directory-card__proximity .bmw-directory-card__license{white-space:nowrap}
@media(max-width:380px){.bmw-directory-card__proximity{gap:8px}}
.bmw-directory-sorted{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:#627369;margin:0 0 14px}
.bmw-directory-sorted button{appearance:none;background:none;border:0;padding:0;font:inherit;color:#1f6b4a;text-decoration:underline;cursor:pointer}


/* Match the public header's mobile/tablet breakpoint and 68px bottom bar.
   The extra 20px clears the raised Locate button; include the device safe area. */
@media(max-width:1149px){
 .bmw-geo-ask.bmw-geo-ask{bottom:calc(88px + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 112px - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 112px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain}
}

/* Shared controls for both the homepage locator and the header's locator drawer. */
.bmw-locator.bmw-locator .bmw-locator__search{display:grid!important;grid-template-columns:auto minmax(240px,1fr) auto!important;align-items:stretch!important;gap:12px!important;width:100%!important;max-width:860px!important;margin:28px auto 12px!important;padding:0!important}
.bmw-locator.bmw-locator .bmw-locator__search-input{width:100%!important;min-width:0!important;min-height:52px!important;border:1px solid #cddcd2!important;border-radius:12px!important;padding:14px 18px!important;font-size:16px!important;background:#fff!important}
.bmw-locator.bmw-locator .bmw-locator__search-input:focus{border-color:#1f6b4a!important;box-shadow:0 0 0 3px #1f6b4a14!important}
.bmw-locator.bmw-locator .bmw-locator__search-btn,.bmw-locator.bmw-locator .bmw-locator__here{min-height:52px!important;width:auto!important;border-radius:12px!important;padding:13px 20px!important;font-size:13px!important;white-space:nowrap!important}
.bmw-locator.bmw-locator .bmw-locator__here{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.bmw-locator.bmw-locator .bmw-locator__here span{display:inline!important}
.bmw-locator.bmw-locator .bmw-locator__here svg{width:16px!important;height:16px!important;flex:0 0 16px!important}
.bmw-locator.bmw-locator .bmw-locator__radius{gap:8px!important;margin:12px auto 28px!important;padding:0 12px!important}
.bmw-locator.bmw-locator .bmw-locator__radius[hidden]{display:none!important}
@media(max-width:760px){.bmw-locator.bmw-locator .bmw-locator__search{grid-template-columns:1fr 1fr!important;max-width:600px!important}.bmw-locator.bmw-locator .bmw-locator__search-input{grid-column:1 / -1;grid-row:1}.bmw-locator.bmw-locator .bmw-locator__here{grid-column:1;grid-row:2}.bmw-locator.bmw-locator .bmw-locator__search-btn{grid-column:2;grid-row:2}}
@media(max-width:430px){.bmw-locator.bmw-locator .bmw-locator__search{grid-template-columns:1fr!important;gap:10px!important}.bmw-locator.bmw-locator .bmw-locator__here{grid-column:1;grid-row:2}.bmw-locator.bmw-locator .bmw-locator__search-btn{grid-column:1;grid-row:3}.bmw-locator.bmw-locator .bmw-locator__radius{margin-bottom:24px!important}}

.bmw-locator.bmw-locator .bmw-locator__search:not(:has(.bmw-locator__here)){grid-template-columns:minmax(0,1fr) auto!important;max-width:680px!important}
@media(max-width:760px){.bmw-locator.bmw-locator .bmw-locator__search:not(:has(.bmw-locator__here)) .bmw-locator__search-btn{grid-column:1 / -1;grid-row:2}}

.bmw-locator.bmw-locator .bmw-locator__search-input{font-family:'DM Sans',sans-serif!important}
.bmw-locator.bmw-locator .bmw-locator__search-btn,.bmw-locator.bmw-locator .bmw-locator__here{font:600 13px/1.3 'DM Sans',sans-serif!important}
.bmw-locator.bmw-locator .bmw-locator__here{background:#fff!important;border:1px solid #cddcd2!important;color:#1f6b4a!important}
.bmw-locator.bmw-locator .bmw-locator__here:hover{background:#eef5f0!important;border-color:#1f6b4a!important}
.bmw-locator.bmw-locator .bmw-locator__radius button{appearance:none!important;border:1px solid #d5e2da!important;background:#fff!important;color:#33443a!important;border-radius:24px!important;padding:8px 14px!important;margin:0!important;font:500 12px/1.3 'DM Sans',sans-serif!important;min-height:34px;cursor:pointer}
.bmw-locator.bmw-locator .bmw-locator__radius button.is-on{background:#1f6b4a!important;border-color:#1f6b4a!important;color:#fff!important}
.bmw-locator.bmw-locator .bmw-locator__radius button:hover{border-color:#1f6b4a!important}

/* Compact reversible sort controls; override the theme's global button treatment. */
.bmw-directory-sorted.bmw-directory-sorted{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 20px!important;padding:0!important;font:400 12px/1.5 'DM Sans',sans-serif!important;color:#627369!important}
.bmw-directory-sort-label{font-weight:500!important;color:#33443a!important}
.bmw-directory-sort-options{display:inline-flex!important;gap:3px!important;padding:3px!important;border:1px solid #d5e2da!important;border-radius:10px!important;background:#fff!important}
.bmw-directory-sorted.bmw-directory-sorted [data-bmw-sort]{appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:70px!important;width:auto!important;min-height:34px!important;height:auto!important;padding:7px 13px!important;margin:0!important;border:0!important;border-radius:7px!important;box-shadow:none!important;background:transparent!important;color:#33443a!important;font:500 12px/1.3 'DM Sans',sans-serif!important;text-transform:none!important;letter-spacing:0!important;text-decoration:none!important;cursor:pointer!important}
.bmw-directory-sorted.bmw-directory-sorted [data-bmw-sort][aria-pressed="true"]{background:#1f6b4a!important;color:#fff!important}
.bmw-directory-sorted.bmw-directory-sorted [data-bmw-sort]:focus-visible{outline:2px solid #1f6b4a!important;outline-offset:2px!important}
.bmw-directory-sorted.bmw-directory-sorted [data-bmw-sort]:disabled{opacity:.6!important;cursor:wait!important}
@media(max-width:600px){.bmw-directory-sorted.bmw-directory-sorted [data-bmw-sort]{min-height:40px!important}.bmw-directory-sort-status{flex-basis:100%!important}}
/* Centered at the visitor's approximate coordinate; halo is a visual locator, not an accuracy radius. */
.bmw-geo-marker{width:22px!important;height:22px!important;z-index:3;overflow:visible!important}
.bmw-geo-marker .bmw-geo-marker__dot{display:block!important;width:22px!important;height:22px!important;border:3px solid #fff!important;border-radius:50%!important;background:#2678bb!important;box-shadow:0 0 0 9px #2678bb26,0 2px 7px #0a1c1340!important;box-sizing:border-box!important}
.bmw-geo-marker .bmw-geo-marker__label{position:absolute!important;top:36px!important;left:50%!important;transform:translateX(-50%)!important;white-space:nowrap!important;background:#fff!important;border:1px solid #d5e2da!important;border-radius:7px!important;padding:5px 9px!important;color:#173b2c!important;font:600 11px/1.3 'DM Sans',sans-serif!important;box-shadow:0 2px 8px #0a1c1314!important}

/* Only the map viewport inside the global locator; surrounding popup remains intact. */
.bmw-locator__map.bmw-locator-map-polished{background:#f6f5ef!important;border:1px solid #dce6dd!important;border-radius:20px!important;isolation:isolate}
.bmw-locator-map-polished [hidden]{display:none!important}
.bmw-locator-map-polished .mapboxgl-ctrl-top-right .mapboxgl-ctrl{margin:12px 12px 0 0}
.bmw-locator-map-polished .mapboxgl-ctrl-group{background:#fff!important;overflow:hidden;border:1px solid #d5e2da!important;border-radius:12px!important;box-shadow:0 3px 12px #102d2314!important}
.bmw-locator-map-polished .mapboxgl-ctrl-group button{display:block!important;min-width:42px!important;width:42px!important;height:42px!important;min-height:42px!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}
.bmw-locator-map-polished .mapboxgl-ctrl-group button+button{border-top:1px solid #e1e9e3!important}
.bmw-locator-map-polished .mapboxgl-ctrl-group button:hover{background:#eef5f0!important}
.bmw-locator-map-polished .bmw-locator-map-actions{position:absolute;z-index:2;top:14px;left:50%;transform:translateX(-50%);display:flex;gap:6px;max-width:calc(100% - 144px);flex-wrap:wrap;justify-content:center}
.bmw-locator-map-polished .bmw-locator-map-actions button,.bmw-locator-map-polished .bmw-locator-map-recenter{appearance:none!important;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px!important;width:auto!important;padding:10px 14px!important;margin:0!important;border:1px solid #d5e2da!important;border-radius:12px!important;background:#fff!important;color:#174d38!important;font:600 12px/1.3 'DM Sans',sans-serif!important;letter-spacing:0!important;box-shadow:0 3px 12px #102d2314!important;cursor:pointer}
.bmw-locator-map-polished .bmw-locator-map-recenter{position:absolute;z-index:2;top:108px;right:12px;width:44px!important;height:44px!important;padding:10px!important}
.bmw-locator-map-recenter svg{width:22px!important;height:22px!important}
.bmw-locator-map-recenter:disabled{opacity:.6;cursor:wait}
.bmw-locator-map-polished button:focus-visible{outline:3px solid #80ae8e!important;outline-offset:2px}
.bmw-locator-map-polished .bmw-locator-map-note{position:absolute;z-index:2;left:12px;right:70px;bottom:76px;margin:0!important;padding:8px 12px!important;background:#fffffff2;border:1px solid #d5e2da;border-radius:10px;color:#174d38;font:500 12px/1.4 'DM Sans',sans-serif!important;pointer-events:none}
.bmw-locator-map-note:empty{display:none}
.bmw-locator-map-legend{position:absolute;left:12px;bottom:34px;display:flex;gap:14px;padding:9px 12px;background:#fffffff2;border:1px solid #d5e2da;border-radius:10px;font:400 11px/1.3 'DM Sans',sans-serif;color:#174d38;pointer-events:none}
.bmw-locator-map-legend span{display:flex;align-items:center;gap:7px}
.bmw-locator-map-legend i{width:9px;height:9px;background:#1f6b4a;border-radius:50%}
.bmw-locator-map-legend .bmw-locator-map-you{background:#2678bb;box-shadow:0 0 0 3px #2678bb20}
.bmw-locator-map-polished .mapboxgl-popup-content{padding:18px!important;border:1px solid #d5e2da;border-radius:14px!important;box-shadow:0 6px 24px #102d2322!important;background:#fff!important}
.bmw-locator-map-polished .bmw-popup__name{padding-right:24px;font:600 16px/1.3 'DM Sans',sans-serif!important;color:#102d23}
.bmw-locator-map-polished .bmw-popup__address{font:400 12px/1.5 'DM Sans',sans-serif!important;color:#627369;margin:7px 0 10px!important}
.bmw-locator-map-polished .bmw-popup__listing{display:block;font:600 12px/1.4 'DM Sans',sans-serif!important;color:#1f6b4a!important;margin-top:12px}
.bmw-locator-map-polished .mapboxgl-popup-close-button{width:30px!important;height:30px!important;min-height:30px!important;border:0!important;border-radius:8px!important;right:4px!important;top:4px!important;padding:0!important;background:#eef5f0!important;color:#174d38!important}
.bmw-locator-map-polished .mapboxgl-ctrl-attrib{font:11px/20px 'DM Sans',sans-serif!important;color:#627369}
.bmw-locator-map-polished .mapboxgl-ctrl-attrib a{font:inherit!important;color:inherit!important;padding:0!important}
@media(max-width:600px){
 .bmw-locator-map-polished .bmw-locator-map-actions{left:10px;right:70px;transform:none;max-width:none;justify-content:flex-start}
 .bmw-locator-map-polished .bmw-locator-map-actions button{padding:9px 11px!important;font-size:11px!important}
 .bmw-locator-map-legend{font-size:10px;gap:10px;padding:7px 9px;left:10px}
 .bmw-locator-map-polished .bmw-locator-map-note{bottom:72px;font-size:11px!important}
}

/* Keep the invitation's compact form independent of Elementor's form defaults. */
.bmw-geo-ask.bmw-geo-ask .bmw-geo-find {
  display: block;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

.bmw-geo-ask.bmw-geo-ask .bmw-geo-find label {
  display: block;
  margin: 0 0 6px !important;
  padding: 0 !important;
  font: 500 12px/1.4 'DM Sans', sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #53665b !important;
  opacity: 1;
}

.bmw-geo-ask .bmw-geo-find__row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bmw-geo-ask.bmw-geo-ask .bmw-geo-find input {
  appearance: none;
  -webkit-appearance: none;
  flex: 1 1 0;
  width: 100% !important;
  min-width: 0 !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  font: 400 14px/1.4 'DM Sans', sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #123126 !important;
  background: #f7f9f7 !important;
  border: 1px solid #d5e2da !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  transition: border-color .15s, box-shadow .15s;
}

.bmw-geo-ask.bmw-geo-ask .bmw-geo-find input::placeholder {
  font: inherit !important;
  letter-spacing: 0 !important;
  color: #6b7a71 !important;
  opacity: 1 !important;
}

.bmw-geo-ask.bmw-geo-ask .bmw-geo-find input:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  border-color: #1f6b4a !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px #1f6b4a1a !important;
}

.bmw-geo-ask.bmw-geo-ask .bmw-geo-find button {
  flex: 0 0 auto;
  height: 40px !important;
  min-height: 40px !important;
  min-width: 44px;
  padding: 0 14px !important;
  border-radius: 10px !important;
}

@media (max-width: 520px) {
  .bmw-geo-ask.bmw-geo-ask .bmw-geo-find { margin-left: -48px !important; }
  .bmw-geo-ask.bmw-geo-ask .bmw-geo-find input { font-size: 16px !important; }
  .bmw-geo-ask.bmw-geo-ask .bmw-geo-find input,
  .bmw-geo-ask.bmw-geo-ask .bmw-geo-find button { height: 44px !important; min-height: 44px !important; }
}
