/* Store Autocomplete Field Styles */

.store-autocomplete-wrapper {
  position: relative;
  width: 100%;
}

.store-autocomplete-wrapper .store-autocomplete-input {
  width: 100%;
  padding: 0.5rem 1rem;
  /* padding: unset; */
  &:focus {
    outline: none;
  }
}

.store-autocomplete-loading {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 1;
}

.store-autocomplete-spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(0, 0, 0, 0.1);
  border-left-color: #0073aa;
  border-radius: 50%;
  animation: store-autocomplete-spin 0.8s linear infinite;
}

@keyframes store-autocomplete-spin {
  to {
    transform: rotate(360deg);
  }
}

.store-autocomplete-results {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 5px;
  background: #fff;
  border: 1px solid #d5d5d5;
  border-radius: 3px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  max-height: 300px;
  overflow-y: auto;
  z-index: 9999;
  list-style: none;
  padding: 0;
  margin-left: 0;
}

.store-autocomplete-results::-webkit-scrollbar {
  width: 8px;
}

.store-autocomplete-results::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.store-autocomplete-results::-webkit-scrollbar-thumb {
  /* background: #888; */
  border-radius: 3px;
}

.store-autocomplete-results::-webkit-scrollbar-thumb:hover {
  /* background: #555; */
}

.store-result-item {
  padding: 12px 15px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.15s ease;
}

.store-result-item:last-child {
  border-bottom: none;
}

.store-result-item:hover,
.store-result-item.active {
  background-color: #f8f8f8;
}

.store-result-item .store-title {
  font-weight: 600;
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
  line-height: 1.4;
}

.store-result-item .store-type {
  font-size: 12px;
  color: #0073aa;
  margin-bottom: 3px;
  line-height: 1.3;
}

.store-result-item .store-address {
  font-size: 12px;
  color: #666;
  line-height: 1.3;
}

.store-autocomplete-results .no-results,
.store-autocomplete-results .error {
  padding: 15px;
  color: #666;
  font-style: italic;
  text-align: center;
  font-size: 13px;
}

.store-autocomplete-results .error {
  color: #d63638;
}

/* Elementor Form Integration */
.elementor-field-group.elementor-field-type-store_autocomplete {
  position: relative;
}

.elementor-field-group.elementor-field-type-store_autocomplete
  .elementor-field-textual {
  padding-right: 40px;
}

/* Hide the hidden input visually but keep it accessible */
.store-autocomplete-value {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Mobile Responsive */
@media (max-width: 768px) {
  .store-autocomplete-results {
    max-height: 250px;
  }

  .store-result-item {
    padding: 10px 12px;
  }

  .store-result-item .store-title {
    font-size: 13px;
  }

  .store-result-item .store-type,
  .store-result-item .store-address {
    font-size: 11px;
  }
}

/* RTL Support */
.rtl .store-autocomplete-loading {
  right: auto;
  left: 15px;
}

.rtl .store-autocomplete-wrapper .store-autocomplete-input {
  padding-right: inherit;
  padding-left: 40px;
}

/* Dark Mode Support (if theme supports it) */
/* @media (prefers-color-scheme: dark) {
  .store-autocomplete-results {
    background: #2c2c2c;
    border-color: #444;
  }

  .store-result-item:hover,
  .store-result-item.active {
    background-color: #333;
  }

  .store-result-item .store-title {
    color: #e0e0e0;
  }

  .store-result-item .store-address {
    color: #aaa;
  }

  .store-autocomplete-results .no-results {
    color: #aaa;
  }
} */

/* Elementor Editor Preview */
.elementor-editor-active .store-autocomplete-results {
  pointer-events: none;
  opacity: 0.7;
}

/* Accessibility Improvements */
.store-autocomplete-wrapper:focus-within .store-autocomplete-results {
  /* Results stay visible when focused */
}

.store-result-item:focus {
  outline: 2px solid #0073aa;
  outline-offset: -2px;
}

/* Loading State */
.store-autocomplete-wrapper.loading .store-autocomplete-input {
  background-image: none; /* Remove default input loading indicators */
}

/* Error State Integration with Elementor Forms */
.elementor-field-group.elementor-error .store-autocomplete-input {
  border-color: #d63638;
}

.elementor-field-group.elementor-error .store-autocomplete-input:focus {
  box-shadow: 0 0 0 1px #d63638;
}
