/* ═══════════════════════════════════════════════════════════════════════════
   Definition list — пари «поле → значення» для карток сутностей
   (дослідник, публікація, установа).

   Дизайн і типографіка — за зразком card--spacious + card__meta-list--row:
   стоси пар (мітка НАД значенням) у повітряній responsive-сітці.

   Варіанти розкладки:
     · default     — auto-fit сітка стосів пар (як meta-list--row, повітряний ритм)
     · --stack     — одна колонка (сайдбар / вузький контекст)
     · --columns   — мітка ліворуч / значення праворуч (detail-панель; subgrid)

   Розмітка: <dl> → <div> (пара) → <dt> (мітка) + <dd> (значення) — як у card__meta-list.
   Порожнє значення — завжди «—» (.definition-list__empty), ніколи не пропуск.
   JS: відсутній. A11y: нативна семантика dl/dt/dd. Нових токенів не додано.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Base: повітряна сітка стосів пар (як meta-list--row у spacious-картці) ── */
.definition-list {
  display: grid;
  /* мін. ширина колонки = 2 × spacing-24 (12rem): на вузькому — одна колонка,
     ширше — дві-три. Множник похідний від токена, не магічний розмір. */
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(calc(var(--uris-spacing-24) * 2), 100%), 1fr)
  );
  gap: var(--uris-spacing-6);
  margin: 0;
  font-family: var(--uris-font-family-body);
  color: var(--uris-color-semantic-text);
}

/* пара як одиниця розкладки; min-width:0 — довге значення (DOI, URL, назва
   установи) переноситься, а не розпирає колонку */
.definition-list > div {
  min-width: 0;
}

.definition-list dt {
  margin: 0 0 var(--uris-spacing-1);
  font-size: var(--uris-text-sm-size);
  line-height: var(--uris-text-sm-line);
  color: var(--uris-color-semantic-text-muted);
}

.definition-list dd {
  margin: 0;
  font-size: var(--uris-text-base-size);
  line-height: var(--uris-text-base-line);
  font-weight: var(--uris-font-weight-regular);
  color: var(--uris-color-semantic-text);
  overflow-wrap: break-word;
}

/* ── Порожнє значення — завжди «—», ніколи не пропуск ───────────────────── */
/* Рекомендовано (реальний текст, доступний скрінрідеру):
     <dd><span class="definition-list__empty">—</span></dd>
   Страхувальна сітка: якщо dd лишили зовсім порожнім — підставляємо «—». */
.definition-list__empty {
  color: var(--uris-color-semantic-text-muted);
}

.definition-list dd:empty::before {
  content: "—";
  color: var(--uris-color-semantic-text-muted);
}

/* ── Variant: одна колонка (вузький контекст, сайдбар) ──────────────────── */
.definition-list--stack {
  grid-template-columns: 1fr;
}

/* ── Variant: мітка ліворуч / значення праворуч (detail-панель) ──────────── */
/* subgrid: автоколонка = ширина найдовшої мітки, спільна для всіх рядків,
   тож значення вирівнюються по єдиній вертикалі без магічної ширини. */
.definition-list--columns {
  grid-template-columns: auto 1fr;
  column-gap: var(--uris-spacing-8);
  row-gap: var(--uris-spacing-5);
}

.definition-list--columns > div {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  align-items: baseline;
}

/* поруч зі значенням мітці не потрібен нижній відступ */
.definition-list--columns dt {
  margin: 0;
}
