/* Elementor Shortcode widgets can collapse to 0px width when the map is
   their only intrinsic content. Debug mode used to hide this issue by adding
   text below the map. Keep the widget and its container stretched instead. */
.elementor-widget-shortcode:has(.plm-shortcode-wrap),
.elementor-widget:has(> .elementor-widget-container > .plm-shortcode-wrap) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 1px !important;
  flex: 1 1 100% !important;
  align-self: stretch !important;
}

.elementor-widget-shortcode:has(.plm-shortcode-wrap) > .elementor-widget-container,
.elementor-widget:has(> .elementor-widget-container > .plm-shortcode-wrap) > .elementor-widget-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 1px !important;
}

.plm-shortcode-wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 1px !important;
  box-sizing: border-box !important;
  flex: 1 1 100% !important;
  align-self: stretch !important;
}

.pelican-location-map {
  position: relative !important;
  width: 100% !important;
  min-height: 320px !important;
  overflow: hidden !important;
  background: #e9e9e7 !important;
}

.pelican-location-map .plm-map-canvas {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 1 !important;
}

.pelican-location-map .plm-map-canvas > div,
.pelican-location-map .plm-map-canvas .gm-style {
  width: 100% !important;
  height: 100% !important;
}

.pelican-location-map .plm-loading {
  z-index: 5;
}

.pelican-location-map.is-ready .plm-loading {
  display: none !important;
}

.pelican-location-map.is-error .plm-loading {
  display: flex !important;
  padding: 24px;
  text-align: center;
  background: #fff3f3 !important;
  color: #8a2424 !important;
}

.plm-info-window {
  min-width: 180px;
  max-width: 280px;
  color: #1f1f1f;
  font-family: Arial, sans-serif;
}

.plm-info-window strong {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
}

.plm-info-window a {
  display: inline-block;
  margin-top: 8px;
  font-weight: 600;
  color: #d85f13;
  text-decoration: none;
}

.plm-frontend-debug {
  box-sizing: border-box;
}

.pelican-location-map .plm-google-map-target {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 320px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
