
/* =====================================================
   product.utilities.css
   Reusable utility classes (safe, optional)
   ===================================================== */

/* Flex */
.u-flex { display: flex; }
.u-inline-flex { display: inline-flex; }
.u-flex-wrap { flex-wrap: wrap; }
.u-flex-nowrap { flex-wrap: nowrap; }
.u-items-center { align-items: center; }
.u-items-start { align-items: flex-start; }
.u-items-end { align-items: flex-end; }
.u-justify-between { justify-content: space-between; }
.u-justify-center { justify-content: center; }
.u-gap-sm { gap: var(--space-sm); }
.u-gap-md { gap: var(--space-md); }

/* Spacing */
.u-mt-sm { margin-top: var(--space-sm); }
.u-mb-sm { margin-bottom: var(--space-sm); }
.u-mt-md { margin-top: var(--space-md); }
.u-mb-md { margin-bottom: var(--space-md); }
.u-p-sm { padding: var(--space-sm); }
.u-p-md { padding: var(--space-md); }

/* Text */
.u-text-center { text-align: center; }
.u-text-right { text-align: right; }
.u-text-muted { color: var(--color-text-muted); }
.u-text-primary { color: var(--color-primary); }
.u-fw-500 { font-weight: var(--font-weight-medium); }
.u-fw-600 { font-weight: var(--font-weight-bold); }

/* Visibility */
.u-hidden { display: none !important; }

/* Card */
.u-card {
  background: var(--color-bg-main);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}
