/* Google Places suggestions must sit above the quote wizard and Elementor overlays. */
.pac-container {
  z-index: 2147483647 !important;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.18);
  font-family: inherit;
}
.pac-item {
  padding: 8px 10px;
  cursor: pointer;
}
.pac-item:hover,
.pac-item-selected {
  background: #f6f7f7;
}
.tcm-google-autocomplete {
  background-clip: padding-box;
}

.tcm-map-resolving {
  background-image: linear-gradient(90deg, transparent, rgba(249, 115, 22, 0.08), transparent);
  background-size: 200% 100%;
  animation: tcm-map-resolving 1.2s linear infinite;
}
@keyframes tcm-map-resolving {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}
.tcm-route-test-panel {
  margin: 10px 0 16px;
  padding: 12px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #f8fafc;
  color: #17233d;
  font-size: 13px;
  line-height: 1.45;
}
.tcm-route-test-panel strong { display: block; margin-bottom: 5px; }
.tcm-route-test-panel span { display: inline-block; margin-right: 18px; }
.tcm-route-test-panel small { display: block; margin-top: 6px; color: #64748b; }
.tcm-route-test-panel.is-loading { border-color: #fdba74; background: #fff7ed; }
.tcm-route-test-panel.is-success { border-color: #86efac; background: #f0fdf4; }
.tcm-route-test-panel.is-error { border-color: #fca5a5; background: #fef2f2; }

.tcm-map-address-error {
  border-color: #c62828 !important;
  box-shadow: 0 0 0 1px #c62828 !important;
}

.tcm-map-address-message {
  margin: 7px 0 10px;
  padding: 10px 12px;
  border: 1px solid #f1b5b5;
  border-radius: 7px;
  background: #fff4f4;
  color: #8a1c1c;
  font-size: 13px;
  line-height: 1.45;
}

.tcm-map-button-resolving {
  cursor: wait !important;
  opacity: .72;
  pointer-events: none;
}
