/* key-value-row — @tokens: (none — all values map to L1/L2 tokens)

   Flexible label→value rows for specs / details / summary panels. Distinct from
   `definition-list` (which is <dl>/dt/dd semantics): this is a flex spec-row layout
   — key on the left, value pushed to the right, a hairline rule between rows.
   Root class = folder name per the authoring standard, so the container is
   `.hzo-key-value-row` and each pair is a `__row` (BEM avoids the flat-sibling
   `.hzo-key-value-row-row` drift).

   Token-only: every border / spacing / weight / colour reads a semantic or L1
   token directly, so no component tokens are needed. Static/structural primitive
   — nothing is focusable, so no focus/disabled a11y idioms. */
.hzo-key-value-row {
    font-size: var(--fs-200);
    line-height: var(--lh-normal);
    color: var(--text-body);
}

/* Row — key/value on a baseline, value pushed to the far edge, hairline below. */
.hzo-key-value-row__row {
    display: flex;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-sm) 0;
    border-bottom: var(--border-1) solid var(--border);
}
.hzo-key-value-row__row:last-child {
    border-bottom: 0;
}

/* Key — muted label ink; never shrinks below its content. */
.hzo-key-value-row__key {
    color: var(--text-muted);
    flex-shrink: 0;
}

/* Value — heading ink, semibold, right-aligned so numbers/values line up. */
.hzo-key-value-row__value {
    color: var(--text-heading);
    font-weight: var(--fw-600);
    text-align: right;
}

/* Plain — drop the row rules for a borderless list (padding rhythm kept). */
.hzo-key-value-row--plain .hzo-key-value-row__row {
    border-bottom: 0;
}
