/* ===========================================
   Spacing Utilities
   ===========================================
   Margin and padding utility classes.
   Use sparingly - prefer component styles.
   =========================================== */

@layer utilities {

/* ===========================================
   Margin Utilities
   =========================================== */

/* Margin all sides */
.m-0  { margin: 0; }
.m-1  { margin: var(--space-1); }
.m-2  { margin: var(--space-2); }
.m-3  { margin: var(--space-3); }
.m-4  { margin: var(--space-4); }
.m-6  { margin: var(--space-6); }
.m-8  { margin: var(--space-8); }
.m-auto { margin: auto; }

/* Margin top */
.mt-0  { margin-top: 0; }
.mt-1  { margin-top: var(--space-1); }
.mt-2  { margin-top: var(--space-2); }
.mt-3  { margin-top: var(--space-3); }
.mt-4  { margin-top: var(--space-4); }
.mt-6  { margin-top: var(--space-6); }
.mt-8  { margin-top: var(--space-8); }
.mt-12 { margin-top: var(--space-12); }
.mt-16 { margin-top: var(--space-16); }

/* Margin bottom */
.mb-0  { margin-bottom: 0; }
.mb-1  { margin-bottom: var(--space-1); }
.mb-2  { margin-bottom: var(--space-2); }
.mb-3  { margin-bottom: var(--space-3); }
.mb-4  { margin-bottom: var(--space-4); }
.mb-6  { margin-bottom: var(--space-6); }
.mb-8  { margin-bottom: var(--space-8); }
.mb-12 { margin-bottom: var(--space-12); }
.mb-16 { margin-bottom: var(--space-16); }

/* Margin left */
.ml-0  { margin-left: 0; }
.ml-1  { margin-left: var(--space-1); }
.ml-2  { margin-left: var(--space-2); }
.ml-3  { margin-left: var(--space-3); }
.ml-4  { margin-left: var(--space-4); }
.ml-auto { margin-left: auto; }

/* Margin right */
.mr-0  { margin-right: 0; }
.mr-1  { margin-right: var(--space-1); }
.mr-2  { margin-right: var(--space-2); }
.mr-3  { margin-right: var(--space-3); }
.mr-4  { margin-right: var(--space-4); }
.mr-auto { margin-right: auto; }

/* Margin horizontal (x-axis) */
.mx-0  { margin-left: 0; margin-right: 0; }
.mx-2  { margin-left: var(--space-2); margin-right: var(--space-2); }
.mx-4  { margin-left: var(--space-4); margin-right: var(--space-4); }
.mx-6  { margin-left: var(--space-6); margin-right: var(--space-6); }
.mx-auto { margin-left: auto; margin-right: auto; }

/* Margin vertical (y-axis) */
.my-0  { margin-top: 0; margin-bottom: 0; }
.my-2  { margin-top: var(--space-2); margin-bottom: var(--space-2); }
.my-4  { margin-top: var(--space-4); margin-bottom: var(--space-4); }
.my-6  { margin-top: var(--space-6); margin-bottom: var(--space-6); }
.my-8  { margin-top: var(--space-8); margin-bottom: var(--space-8); }

/* ===========================================
   Padding Utilities
   =========================================== */

/* Padding all sides */
.p-0  { padding: 0; }
.p-1  { padding: var(--space-1); }
.p-2  { padding: var(--space-2); }
.p-3  { padding: var(--space-3); }
.p-4  { padding: var(--space-4); }
.p-6  { padding: var(--space-6); }
.p-8  { padding: var(--space-8); }

/* Padding top */
.pt-0  { padding-top: 0; }
.pt-2  { padding-top: var(--space-2); }
.pt-4  { padding-top: var(--space-4); }
.pt-6  { padding-top: var(--space-6); }
.pt-8  { padding-top: var(--space-8); }

/* Padding bottom */
.pb-0  { padding-bottom: 0; }
.pb-2  { padding-bottom: var(--space-2); }
.pb-4  { padding-bottom: var(--space-4); }
.pb-6  { padding-bottom: var(--space-6); }
.pb-8  { padding-bottom: var(--space-8); }

/* Padding left */
.pl-0  { padding-left: 0; }
.pl-2  { padding-left: var(--space-2); }
.pl-4  { padding-left: var(--space-4); }
.pl-6  { padding-left: var(--space-6); }

/* Padding right */
.pr-0  { padding-right: 0; }
.pr-2  { padding-right: var(--space-2); }
.pr-4  { padding-right: var(--space-4); }
.pr-6  { padding-right: var(--space-6); }

/* Padding horizontal (x-axis) */
.px-0  { padding-left: 0; padding-right: 0; }
.px-2  { padding-left: var(--space-2); padding-right: var(--space-2); }
.px-4  { padding-left: var(--space-4); padding-right: var(--space-4); }
.px-6  { padding-left: var(--space-6); padding-right: var(--space-6); }
.px-8  { padding-left: var(--space-8); padding-right: var(--space-8); }

/* Padding vertical (y-axis) */
.py-0  { padding-top: 0; padding-bottom: 0; }
.py-2  { padding-top: var(--space-2); padding-bottom: var(--space-2); }
.py-4  { padding-top: var(--space-4); padding-bottom: var(--space-4); }
.py-6  { padding-top: var(--space-6); padding-bottom: var(--space-6); }
.py-8  { padding-top: var(--space-8); padding-bottom: var(--space-8); }

/* ===========================================
   Gap Utilities (for flex/grid)
   =========================================== */

.gap-0  { gap: 0; }
.gap-1  { gap: var(--space-1); }
.gap-2  { gap: var(--space-2); }
.gap-3  { gap: var(--space-3); }
.gap-4  { gap: var(--space-4); }
.gap-6  { gap: var(--space-6); }
.gap-8  { gap: var(--space-8); }

} /* End @layer utilities */
