/* utils.css — Spacing helpers and alignment utilities */

/* Display */
.d-flex   { display: flex; }
.d-grid   { display: grid; }
.d-none   { display: none; }
.d-block  { display: block; }

/* Flex helpers */
.align-center   { align-items: center; }
.align-start    { align-items: flex-start; }
.justify-end    { justify-content: flex-end; }
.justify-between{ justify-content: space-between; }
.flex-1         { flex: 1; }
.flex-wrap      { flex-wrap: wrap; }

/* Gap */
.gap-xs { gap: var(--space-xs); }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-lg { gap: var(--space-lg); }
.gap-xl { gap: var(--space-xl); }

/* Margin bottom */
.mb-xs { margin-bottom: var(--space-xs); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }

/* Small top spacing used on settings radio groups */
.mt-sm { margin-top: var(--space-sm); }

/* Padding */
.p-md { padding: var(--space-md); }
.p-lg { padding: var(--space-lg); }

/* Width */
.w-full { width: 100%; }

/* Text align */
.text-right  { text-align: right; }
.text-center { text-align: center; }
.text-left   { text-align: left; }

/* Overflow */
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Divider */
.divider {
  border: none;
  border-top: 1px solid var(--color-line);
  margin: var(--space-lg) 0;
}
