.oaod-map-wrap {
  width: 100%;
  position: relative;
}

.oaod-map {
  position: relative;
  display: block;
  width: 100%;
  max-width: 520px;
  user-select: none;
  vertical-align: top;
  --oaod-land-dot-color: #c8c8c8;
  --oaod-land-dot-opacity: 0.85;
  --oaod-highlight-dot-color: #33ccdd;
  --oaod-highlight-border-color: #ffffff;
  --oaod-highlight-fill-color: #33ccdd;
  --oaod-highlight-fill-opacity: 0.2;
  --oaod-highlight-border-width: 2.5px;
  --oaod-marker-color: #33ccdd;
  --oaod-pulse-ring-color: #33ccdd;
  --oaod-highlight-blink-intensity: 0.65;
}

.oaod-map--globe {
  aspect-ratio: 1 / 1;
  min-height: 200px;
  --oaod-globe-surface-color: #243434;
  --oaod-globe-glow-color: #000000;
  --oaod-globe-opacity: 1;
}

.oaod-map--static {
  border-radius: 0;
  overflow: hidden;
  background: transparent;
  width: 100%;
  max-width: 100%;
  min-height: 120px;
  height: auto;
}

.oaod-map--static.oaod-map--pulsing-dots .oaod-map__canvas {
  pointer-events: auto;
  cursor: default;
}

.oaod-map--static .oaod-map__canvas {
  cursor: default;
  pointer-events: none;
  min-height: 120px;
}

.oaod-map__canvas {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.8s ease;
  touch-action: none;
}

.oaod-map--static .oaod-map__canvas {
  height: auto;
}

.oaod-map--globe .oaod-map__canvas {
  cursor: grab;
  border-radius: 50%;
}

.oaod-map__canvas.is-ready {
  opacity: 1;
}

.oaod-map__canvas.is-dragging {
  cursor: grabbing;
}

.oaod-map__marker {
  position: absolute;
  bottom: anchor(center);
  left: anchor(center);
  translate: -50% 50%;
  width: calc(40px * var(--oaod-marker-scale, 1));
  height: calc(40px * var(--oaod-marker-scale, 1));
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  cursor: pointer;
  opacity: var(--cobe-visible, 0);
  filter: blur(calc((1 - var(--cobe-visible, 0)) * 8px));
  transition: opacity 0.4s, filter 0.4s;
  z-index: 2;
}

@supports not (position-anchor: --test) {
  .oaod-map__marker {
    pointer-events: none;
    opacity: 0;
  }
}

.oaod-map__markers {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

.oaod-map--static .oaod-map__markers {
  opacity: 0;
  visibility: hidden;
}

.oaod-map--static.is-ready .oaod-map__markers {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.8s ease;
}

.oaod-map__static-marker {
  position: absolute;
  width: calc(40px * var(--oaod-marker-scale, 1));
  height: calc(40px * var(--oaod-marker-scale, 1));
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  cursor: pointer;
}

.oaod-map__ring {
  position: absolute;
  inset: 0;
  border: 2px solid var(--oaod-pulse-ring-color, var(--oaod-marker-color, #33ccdd));
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  animation: oaod-pulse-expand 2s ease-out infinite;
}

.oaod-map__dot {
  width: calc(10px * var(--oaod-marker-scale, 1));
  height: calc(10px * var(--oaod-marker-scale, 1));
  background: var(--oaod-pulse-ring-color, var(--oaod-marker-color, #33ccdd));
  border-radius: 50%;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--oaod-marker-color, #33ccdd) 35%, transparent),
    0 0 0 5px var(--oaod-pulse-ring-color, var(--oaod-marker-color, #33ccdd));
  pointer-events: none;
}

.oaod-map__label {
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}

.oaod-map-tooltip {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99999;
  padding: 6px 12px;
  background: rgba(0, 0, 0, 0.88);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  border-radius: 4px;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -100%);
  transition: opacity 0.15s ease;
  max-width: 200px;
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

.oaod-map-tooltip.is-visible {
  opacity: 1;
}

@keyframes oaod-pulse-expand {
  0% {
    transform: scale(0.3);
    opacity: 0.8;
  }

  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

.oaod-map--responsive {
  min-height: 200px;
  width: 100%;
  max-width: 100%;
  --oaod-globe-surface-color: #243434;
  --oaod-globe-glow-color: #000000;
  --oaod-globe-opacity: 1;
}

.oaod-map--responsive .oaod-map__canvas {
  opacity: 0;
}

.oaod-map--responsive.oaod-map--globe .oaod-map__canvas.is-ready,
.oaod-map--responsive.oaod-map--static .oaod-map__canvas.is-ready {
  opacity: 1;
}

/* Elementor preview iframe (elementor-editor-active is on the parent window, not the iframe) */
.elementor-widget-oneandonly_map .oaod-map--globe,
.elementor-widget-oneandonly_map .oaod-map--responsive.oaod-map--globe {
  min-height: 280px;
  aspect-ratio: 1 / 1;
}

.elementor-widget-oneandonly_map .oaod-map--static {
  min-height: 200px;
}

.elementor-widget-oneandonly_map .oaod-map--responsive {
  min-height: 280px;
}

/* Legacy: parent editor shell */
.elementor-editor-active .oaod-map--globe {
  min-height: 280px;
}

.elementor-editor-active .oaod-map--static {
  min-height: 200px;
}

.elementor-editor-active .oaod-map--responsive {
  min-height: 280px;
}
