/**
 * hx-list.css — List SSOT
 * Token-driven only. No !important. No fallbacks.
 * 4-variant readiness via data-theme + data-hx-vp (tokens flip automatically).
 * Single source — no duplicated migrated blocks.
 */
.hx-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--hx-list-gap);
  color: var(--hx-fg);
}

.hx-list--bare {
  list-style: none;
  padding-left: 0;
}

.hx-list--unordered,
.hx-list--features,
.hx-list--ordered {
  display: block;
  list-style-position: outside;
  padding-left: var(--hx-list-marker-pad);
}

.hx-list--unordered,
.hx-list--features {
  list-style-type: disc;
}

.hx-list--ordered {
  list-style-type: decimal;
}

.hx-list--features > .hx-list__item,
.hx-list--unordered > .hx-list__item,
.hx-list--ordered > .hx-list__item {
  display: list-item;
  list-style-position: outside;
}

.hx-list--features > .hx-list__item::marker,
.hx-list--unordered > .hx-list__item::marker,
.hx-list--ordered > .hx-list__item::marker {
  color: var(--hx-list-marker);
}

.hx-list--features,
.hx-list--features .hx-text {
  font-size: var(--hx-list-features-size);
  line-height: var(--line-height-normal);
}

.hx-list--condensed {
  gap: var(--hx-list-gap-condensed);
}

/* Dividers only when explicitly requested — avoids double lines from base + modifier */
.hx-list--divided > .hx-list__item + .hx-list__item {
  border-top: 1px solid var(--hx-list-divider);
  padding-top: var(--hx-list-gap);
}

.hx-list__item {
  margin: 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) 0;
  color: var(--hx-fg);
  /* No default border — only --divided supplies hairlines */
}

.hx-list__row {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
}

.hx-list__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
}

/* Trailing badge sits on the right in message/list rows */
.hx-list__row > .hx-badge,
.hx-list__row > .hx-indicator {
  margin-left: auto;
  flex-shrink: 0;
}

.hx-list__label,
.hx-list__item .hx-text,
.hx-list-block__title {
  margin: 0;
}

.hx-list-block {
  width: min(400px, 100%);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: var(--hx-fg);
}

.hx-list-block__title {
  margin-bottom: var(--space-2);
}

.hx-avatar {
  flex: 0 0 var(--hx-avatar-size);
  width: var(--hx-avatar-size);
  height: var(--hx-avatar-size);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--hx-avatar-bg);
  color: var(--hx-fg);
  font-size: var(--font-size-xs);
  font-weight: 600;
}

.hx-preview-card__stage:has(.hx-list-block) {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
}

/* Theme awareness — pure tokens, no overrides */
.hx-example[data-theme="dark"] .hx-list,
.hx-preview-card__stage[data-theme="dark"] .hx-list,
.hx-preview-card__stage[data-theme="light"] .hx-list {
  color: var(--hx-fg);
}

/* 4-variant readiness */
html[data-theme="light"][data-hx-vp="desktop"],
html[data-theme="light"][data-hx-vp="mobile"],
html[data-theme="dark"][data-hx-vp="desktop"],
html[data-theme="dark"][data-hx-vp="mobile"] {
  /* tokens flip automatically */
}
