/* ================================================================
   DataHints DS — Key Value List Component
   Requires: tokens.css
   ================================================================ */

  /* ============================================================
     KEY-VALUE LIST
  ============================================================ */

  /* Container */
  .dh-kv {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--border-s);
  }

  /* Row wrapper */
  .dh-kv-row {
    display: flex;
    flex-direction: column;
    gap: var(--sp-1);
    padding: var(--sp-4) 0;
    border-bottom: 1px solid var(--border-s);
  }

  /* Term / key */
  .dh-kv-term {
    font-family: var(--font-mono);
    font-size: 0.6875rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--fg-3);
    margin: 0;
  }

  /* Desc / value */
  .dh-kv-desc {
    font-family: var(--font-sans);
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--fg);
    margin: 0;
    line-height: 1.4;
  }

  /* Value tone modifiers */
  .dh-kv-desc.is-accent  { color: var(--accent-text); }
  .dh-kv-desc.is-insight { color: var(--insight); }
  .dh-kv-desc.is-muted   { color: var(--fg-3); font-weight: 400; }
  .dh-kv-desc.is-mono    { font-family: var(--font-mono); }

  /* Badge group inside desc */
  .dh-kv-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-2);
    margin-top: 2px;
  }

  /* ── INLINE ─────────────────────────────────────────────── */
  .dh-kv.is-inline .dh-kv-row {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--sp-4);
  }
  .dh-kv.is-inline .dh-kv-desc {
    text-align: right;
  }
  .dh-kv.is-inline .dh-kv-tags {
    justify-content: flex-end;
    margin-top: 0;
  }

  /* ── GRID ───────────────────────────────────────────────── */
  .dh-kv.is-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    border-top: 1px solid var(--border-s);
    border-bottom: 1px solid var(--border-s);
  }
  .dh-kv.is-grid .dh-kv-row {
    flex-direction: column;
    padding: var(--sp-4) var(--sp-4);
    border-bottom: none;
    border-right: 1px solid var(--border-s);
  }
  .dh-kv.is-grid .dh-kv-row:first-child { padding-left: 0; }
  .dh-kv.is-grid .dh-kv-row:last-child  { border-right: none; padding-right: 0; }

  /* ── COMPACT ────────────────────────────────────────────── */
  .dh-kv.is-compact .dh-kv-row  { padding: var(--sp-3) 0; }
  .dh-kv.is-compact .dh-kv-term { font-size: 0.625rem; }
  .dh-kv.is-compact .dh-kv-desc { font-size: 0.875rem; }
  .dh-kv.is-grid.is-compact .dh-kv-row { padding: var(--sp-3) var(--sp-3); }
  .dh-kv.is-grid.is-compact .dh-kv-row:first-child { padding-left: 0; }
  .dh-kv.is-grid.is-compact .dh-kv-row:last-child  { padding-right: 0; }

  /* ── FLUSH (no dividers) ────────────────────────────────── */
  .dh-kv.is-flush { border-top: none; }
  .dh-kv.is-flush .dh-kv-row { border-bottom: none; padding: var(--sp-2) 0; }
  .dh-kv.is-flush .dh-kv-row:first-child { padding-top: 0; }
