/*!
 * Kynexis: Smart-Quick Search — стили выпадающего списка.
 *
 * Цвета по умолчанию не переопределяются здесь: класс .dropdown-menu уже
 * стилизован темой сайта (--bs-dropdown-bg/color/border-color и т.д.) —
 * если в теме они настроены, список выглядит с ней согласованно без единой
 * строчки от нас. Размеры/отступы/шрифт — свои переменные --kx-*, у
 * Bootstrap готовых аналогов для них нет; заданы админом всегда (см.
 * smart-search.js), но на случай пустого значения у каждой есть разумный
 * фолбэк прямо в var().
 *
 * Точку входа для полной кастомизации темой сайта дают атрибуты
 * data-kynexis-search-*, расставленные на каждом узле — тема может
 * переопределить что угодно через свои [data-kynexis-search-item],
 * не воюя со специфичностью наших классов.
 */

[data-kynexis-search-dropdown] {
  position: fixed;
  width: var(--kx-width, 380px);
  max-width: calc(100vw - 24px);
  max-height: var(--kx-height, 480px);
  overflow-y: auto;
}

[data-kynexis-search-item] {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: var(--kx-item-padding, 10px) !important;
  white-space: normal !important;
}

[data-kynexis-search-thumb] {
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: var(--bs-dropdown-inner-border-radius, 6px);
  object-fit: cover;
  background: rgba(127, 127, 127, 0.15);
}

[data-kynexis-search-info] {
  flex: 1 1 auto;
  min-width: 0;
}

[data-kynexis-search-name] {
  font-size: var(--kx-font-name, 14px);
  font-weight: 600;
  line-height: 1.3;
  color: var(--kx-name-color, inherit);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-kynexis-search-meta] {
  margin-top: 2px;
  font-size: var(--kx-font-meta, 12px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-kynexis-search-manufacturer] {
  color: var(--kx-manuf-color, color-mix(in srgb, currentColor 65%, transparent));
}

[data-kynexis-search-model] {
  color: var(--kx-model-color, color-mix(in srgb, currentColor 65%, transparent));
}

[data-kynexis-search-meta-sep] {
  opacity: 0.5;
}

[data-kynexis-search-price] {
  flex: none;
  text-align: right;
  font-size: var(--kx-font-price, 14px);
  font-weight: 700;
  color: var(--kx-price-color, inherit);
  white-space: nowrap;
}

[data-kynexis-search-price-old] {
  display: block;
  font-size: 0.75em;
  font-weight: 400;
  opacity: 0.55;
  text-decoration: line-through;
}

[data-kynexis-search-state] {
  padding: 1rem;
  font-size: 0.85em;
  text-align: center;
  opacity: 0.65;
  white-space: normal;
}

[data-kynexis-search-viewall] {
  text-align: center;
  font-weight: 600;
  border-top: var(--bs-dropdown-border-width, 1px) solid var(--bs-dropdown-border-color, rgba(0, 0, 0, 0.15));
  margin-top: 0.5rem;
}

@media (max-width: 480px) {
  [data-kynexis-search-dropdown] {
    width: auto !important;
    left: 12px !important;
    right: 12px;
  }
}
