/* Select2 Styling Overrides for Signup Page (Country and State Dropdowns) */

/* General Container Styling */
.select2-container .select2-selection--single {
  height: 38px;
  background-color: var(--bg-surface);
  border: 1.5px solid var(--border-default);
  border-radius: var(--radius-sm);
  transition: border-color var(--transition-fast);
  display: flex;
  align-items: center;
}

/* Focused State */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: var(--pm-accent);
  outline: none;
}

/* Rendered Text Style */
.select2-container .select2-selection--single .select2-selection__rendered {
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--text-base);
  padding-left: var(--space-3);
  padding-right: 29px;
  width: 100%;
}

/* Placeholder Style */
.select2-container .select2-selection--single .select2-selection__placeholder {
  color: var(--text-muted);
}

/* Hide Default Select2 Arrow, Use Custom SVG Chevron */
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 38px;
  position: absolute;
  top: 0;
  right: 16px;
  width: 10px;
  background-image: url('/assets/svg/icons/select-chevron.svg');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 10px 6px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  display: none;
}

/* Dropdown Container */
.select2-dropdown {
  background-color: var(--bg-surface);
  border: 1.5px solid var(--border-default);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
  z-index: 9999;
  display: flex;
  flex-direction: column;
}

.select2-dropdown .select2-search,
.select2-dropdown .select2-search--dropdown {
  order: 1;
}

.select2-dropdown .select2-results {
  order: 2;
}

/* Search Box Styling */
.select2-search--dropdown {
  padding: var(--space-2);
  background-color: var(--bg-surface-muted);
}

.select2-dropdown--above .select2-search--dropdown,
.select2-dropdown--below .select2-search--dropdown {
  border-bottom: 1.5px solid var(--border-default);
  border-top: none;
}

.select2-search--dropdown .select2-search__field {
  background-color: var(--bg-surface);
  border: 1.5px solid var(--border-default);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  height: 32px;
  padding: 0 var(--space-2);
  outline: none;
}

.select2-search--dropdown .select2-search__field:focus {
  border-color: var(--pm-accent);
}

/* Options/Results List Styling */
.select2-results__options {
  max-height: 200px;
  overflow-y: auto;
  padding: var(--space-1) 0;
  background-color: var(--bg-surface);
}

.select2-results__option {
  color: var(--text-secondary);
  font-family: var(--font-body);
  font-size: var(--text-base);
  padding: 6px var(--space-3);
  cursor: pointer;
  background-color: transparent;
}

/* Highlighted & Hovered Options */
.select2-results__option--highlighted[aria-selected],
.select2-results__option:hover {
  background-color: var(--bg-hover);
  color: var(--text-primary);
}

/* Selected Option */
.select2-results__option[aria-selected="true"] {
  background-color: var(--pm-accent-soft);
  color: var(--text-primary);
}

/* Disabled Option (e.g. Placeholder "Select Country/State") */
.select2-results__option[aria-disabled="true"]:not(.select2-results__message):not(.loading-results):not(.select2-results__option--load-more) {
  display: none;
}

/* Explicit style for Select2 helper/status messages (Searching..., No results found, etc.) */
.select2-dropdown .select2-results__message,
.select2-dropdown .select2-results__option--load-more,
.select2-dropdown .loading-results {
  color: var(--text-muted);
  font-family: var(--font-body);
  font-size: var(--text-base);
  padding: 8px var(--space-3);
  display: block;
}

/* State Input Clear Button Styling */
.plx-state-input {
  position: relative;
}

.plx-state-input .plx-input {
  padding-right: 44px;
}

.plx-state-clear-btn {
  align-items: center;
  background: none;
  border: 0;
  color: var(--text-muted);
  cursor: pointer;
  display: inline-flex;
  height: 24px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: var(--space-3);
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
}

.plx-state-clear-btn:hover {
  color: var(--text-primary);
}
