/**
 * CityBoard — unified autocomplete / custom select option states.
 * Loaded after component-specific sheets; replaces hardcoded nested colors.
 */
:root {
  --cb-option-text: #111827;
  --cb-option-muted: #475569;
  --cb-option-bg: #ffffff;
  --cb-option-bg-hover: #2563eb;
  --cb-option-bg-selected: #1d4ed8;
  --cb-option-bg-disabled: #f8fafc;
  --cb-option-text-disabled: #94a3b8;
  --cb-option-text-emphasis: #ffffff;
  --cb-option-muted-emphasis: rgba(255, 255, 255, 0.82);
  --cb-option-border: #e5e7eb;
}

/* Shared option surface */
.cb-smart-item,
.cb-select__option,
.cb-admin-select__option,
.cb-geo-registry__item,
.cb-geo-picker__city,
.cb-geo-picker__region,
.cb-geo-picker__whole,
.cb-city-picker__item,
.cb-listing-map-suggest button,
.cb107-select-option {
  --option-text: var(--cb-option-text);
  --option-muted: var(--cb-option-muted);
  color: var(--option-text);
}

.cb-option__title,
.cb-smart-item .cb-option__title,
.cb-smart-item > span > b,
.cb-smart-item > span > strong,
.cb-geo-registry__item > strong,
.cb-geo-registry__item .cb-option__title,
.cb-select__option .cb-option__title,
.cb-admin-select__option .cb-option__title {
  display: block;
  color: var(--option-text);
  font-weight: 900;
  line-height: 1.25;
}

.cb-option__meta,
.cb-smart-item .cb-option__meta,
.cb-smart-item > span > span,
.cb-smart-item small,
.cb-geo-registry__item > span,
.cb-geo-registry__item .cb-option__meta,
.cb-select__option .cb-option__meta,
.cb-admin-select__option .cb-option__meta {
  display: block;
  margin-top: 2px;
  color: var(--option-muted);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.35;
}

.cb-smart-item svg,
.cb-select__option svg,
.cb-admin-select__option svg,
.cb-geo-registry__item svg {
  color: currentColor;
  fill: currentColor;
}

.cb-smart-item mark,
.cb-select__option mark,
.cb-admin-select__option mark,
.cb-geo-registry__item mark,
.cb107-select-option mark {
  color: inherit;
  background: transparent;
  font-weight: 700;
}

/* Emphasis: hover, keyboard focus, active, selected */
.cb-smart-item:hover:not(:disabled):not(.is-disabled),
.cb-smart-item:focus-visible:not(:disabled):not(.is-disabled),
.cb-smart-item.is-active,
.cb-smart-item[aria-selected="true"],
.cb-select__option:hover,
.cb-select__option:focus-visible,
.cb-select__option.active,
.cb-select__option.is-active,
.cb-select__option[aria-selected="true"],
.cb-admin-select__option:hover,
.cb-admin-select__option:focus-visible,
.cb-admin-select__option.active,
.cb-admin-select__option.is-active,
.cb-admin-select__option[aria-selected="true"],
.cb-geo-registry__item:hover:not(:disabled):not(.is-disabled),
.cb-geo-registry__item:focus-visible:not(:disabled):not(.is-disabled),
.cb-geo-registry__item.is-active,
.cb-geo-registry__item[aria-selected="true"],
.cb-geo-picker__city:hover,
.cb-geo-picker__city:focus-visible,
.cb-geo-picker__city.is-active,
.cb-geo-picker__city[aria-selected="true"],
.cb-geo-picker__region:hover,
.cb-geo-picker__region:focus-visible,
.cb-geo-picker__region.is-active,
.cb-geo-picker__region[aria-selected="true"],
.cb-geo-picker__whole:hover,
.cb-geo-picker__whole:focus-visible,
.cb-geo-picker__whole.is-active,
.cb-geo-picker__whole[aria-selected="true"],
.cb-city-picker__item:hover,
.cb-city-picker__item:focus-visible,
.cb-city-picker__item.is-active,
.cb-city-picker__item.active,
.cb-city-picker__item[aria-selected="true"],
.cb-listing-map-suggest button:hover,
.cb-listing-map-suggest button:focus-visible,
.cb-listing-map-suggest button.is-active,
.cb-listing-map-suggest button[aria-selected="true"],
.cb107-select-option:hover,
.cb107-select-option:focus-visible,
.cb107-select-option.is-active,
.cb107-select-option[aria-selected="true"] {
  --option-text: var(--cb-option-text-emphasis);
  --option-muted: var(--cb-option-muted-emphasis);
  background: var(--cb-option-bg-hover);
  color: var(--option-text);
  outline: none;
}

.cb-smart-item.active,
.cb-select__option.active,
.cb-admin-select__option.active,
.cb-geo-picker__city.active,
.cb-geo-picker__region.active {
  background: var(--cb-option-bg-selected);
}

.cb-admin-select__option.active::after {
  color: currentColor;
}

/* Disabled */
.cb-smart-item:disabled,
.cb-smart-item.is-disabled,
.cb-geo-registry__item:disabled,
.cb-geo-registry__item.is-disabled {
  --option-text: var(--cb-option-text-disabled);
  --option-muted: var(--cb-option-text-disabled);
  background: var(--cb-option-bg-disabled);
  cursor: not-allowed;
  opacity: 0.72;
}

/* Loading / empty / error inside lists */
.cb-smart-empty,
.cb-smart-list .cb-option-loading,
.cb-select__empty,
.cb-admin-select__empty {
  color: var(--cb-option-muted);
  padding: 12px 14px;
  font-weight: 700;
}

.cb-smart-list .cb-option-error {
  color: #b91c1c;
  padding: 12px 14px;
  font-weight: 700;
}

/* Prevent legacy hardcoded nested colors from winning over emphasis state */
.cb-smart-item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) .cb-option__title,
.cb-smart-item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) .cb-option__meta,
.cb-smart-item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) > span > b,
.cb-smart-item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) > span > span,
.cb-smart-item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) small,
.cb-geo-registry__item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) strong,
.cb-geo-registry__item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) span,
.cb-geo-registry__item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) .cb-option__meta {
  color: inherit;
}

.cb-smart-item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) .cb-option__meta,
.cb-geo-registry__item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) .cb-option__meta,
.cb-geo-registry__item:is(:hover, .is-active, [aria-selected="true"], :focus-visible) > span {
  color: var(--option-muted);
}

.cb107-select-option:is(:hover, .is-active, [aria-selected="true"], :focus-visible) .cb-option__title {
  color: inherit;
}
.cb-select__option:is(:hover, .active, .is-active, [aria-selected="true"], :focus-visible) .cb-option__title,
.cb-select__option:is(:hover, .active, .is-active, [aria-selected="true"], :focus-visible) .cb-option__meta,
.cb-admin-select__option:is(:hover, .active, .is-active, [aria-selected="true"], :focus-visible) .cb-option__title,
.cb-admin-select__option:is(:hover, .active, .is-active, [aria-selected="true"], :focus-visible) .cb-option__meta {
  color: inherit;
}

.cb-select__option:is(:hover, .active, .is-active, [aria-selected="true"], :focus-visible) .cb-option__meta,
.cb-admin-select__option:is(:hover, .active, .is-active, [aria-selected="true"], :focus-visible) .cb-option__meta {
  color: var(--option-muted);
}

@media (prefers-color-scheme: dark) {
  :root {
    --cb-option-text: #f8fafc;
    --cb-option-muted: #cbd5e1;
    --cb-option-bg: #0f172a;
    --cb-option-bg-disabled: #1e293b;
    --cb-option-text-disabled: #64748b;
    --cb-option-border: #334155;
  }
}
