/**
 * Spacing Utilities
 * Margin and padding utility classes
 */

/* =============================================================================
   MARGIN UTILITIES
   ============================================================================= */

/* Margin All Sides */
.m-0 { margin: 0 !important; }
.m-1 { margin: var(--space-1) !important; }
.m-2 { margin: var(--space-2) !important; }
.m-3 { margin: var(--space-3) !important; }
.m-4 { margin: var(--space-4) !important; }
.m-5 { margin: var(--space-5) !important; }
.m-6 { margin: var(--space-6) !important; }
.m-8 { margin: var(--space-8) !important; }
.m-10 { margin: var(--space-10) !important; }
.m-12 { margin: var(--space-12) !important; }

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

/* Margin Right */
.mr-0,
.me-0 { margin-right: 0 !important; }
.mr-1,
.me-1 { margin-right: var(--space-1) !important; }
.mr-2,
.me-2 { margin-right: var(--space-2) !important; }
.mr-3,
.me-3 { margin-right: var(--space-3) !important; }
.mr-4,
.me-4 { margin-right: var(--space-4) !important; }
.mr-5,
.me-5 { margin-right: var(--space-5) !important; }
.mr-6,
.me-6 { margin-right: var(--space-6) !important; }

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

/* Margin Left */
.ml-0,
.ms-0 { margin-left: 0 !important; }
.ml-1,
.ms-1 { margin-left: var(--space-1) !important; }
.ml-2,
.ms-2 { margin-left: var(--space-2) !important; }
.ml-3,
.ms-3 { margin-left: var(--space-3) !important; }
.ml-4,
.ms-4 { margin-left: var(--space-4) !important; }
.ml-5,
.ms-5 { margin-left: var(--space-5) !important; }
.ml-6,
.ms-6 { margin-left: var(--space-6) !important; }

/* Margin X-Axis */
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1 { margin-left: var(--space-1) !important; margin-right: var(--space-1) !important; }
.mx-2 { margin-left: var(--space-2) !important; margin-right: var(--space-2) !important; }
.mx-3 { margin-left: var(--space-3) !important; margin-right: var(--space-3) !important; }
.mx-4 { margin-left: var(--space-4) !important; margin-right: var(--space-4) !important; }
.mx-5 { margin-left: var(--space-5) !important; margin-right: var(--space-5) !important; }
.mx-6 { margin-left: var(--space-6) !important; margin-right: var(--space-6) !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }

/* Margin Y-Axis */
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1 { margin-top: var(--space-1) !important; margin-bottom: var(--space-1) !important; }
.my-2 { margin-top: var(--space-2) !important; margin-bottom: var(--space-2) !important; }
.my-3 { margin-top: var(--space-3) !important; margin-bottom: var(--space-3) !important; }
.my-4 { margin-top: var(--space-4) !important; margin-bottom: var(--space-4) !important; }
.my-5 { margin-top: var(--space-5) !important; margin-bottom: var(--space-5) !important; }
.my-6 { margin-top: var(--space-6) !important; margin-bottom: var(--space-6) !important; }
.my-8 { margin-top: var(--space-8) !important; margin-bottom: var(--space-8) !important; }

/* =============================================================================
   PADDING UTILITIES
   ============================================================================= */

/* Padding All Sides */
.p-0 { padding: 0 !important; }
.p-1 { padding: var(--space-1) !important; }
.p-2 { padding: var(--space-2) !important; }
.p-3 { padding: var(--space-3) !important; }
.p-4 { padding: var(--space-4) !important; }
.p-5 { padding: var(--space-5) !important; }
.p-6 { padding: var(--space-6) !important; }
.p-8 { padding: var(--space-8) !important; }
.p-10 { padding: var(--space-10) !important; }
.p-12 { padding: var(--space-12) !important; }

/* Padding Top */
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: var(--space-1) !important; }
.pt-2 { padding-top: var(--space-2) !important; }
.pt-3 { padding-top: var(--space-3) !important; }
.pt-4 { padding-top: var(--space-4) !important; }
.pt-5 { padding-top: var(--space-5) !important; }
.pt-6 { padding-top: var(--space-6) !important; }
.pt-8 { padding-top: var(--space-8) !important; }
.pt-10 { padding-top: var(--space-10) !important; }
.pt-12 { padding-top: var(--space-12) !important; }

/* Padding Right */
.pr-0,
.pe-0 { padding-right: 0 !important; }
.pr-1,
.pe-1 { padding-right: var(--space-1) !important; }
.pr-2,
.pe-2 { padding-right: var(--space-2) !important; }
.pr-3,
.pe-3 { padding-right: var(--space-3) !important; }
.pr-4,
.pe-4 { padding-right: var(--space-4) !important; }
.pr-5,
.pe-5 { padding-right: var(--space-5) !important; }
.pr-6,
.pe-6 { padding-right: var(--space-6) !important; }

/* Padding Bottom */
.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: var(--space-1) !important; }
.pb-2 { padding-bottom: var(--space-2) !important; }
.pb-3 { padding-bottom: var(--space-3) !important; }
.pb-4 { padding-bottom: var(--space-4) !important; }
.pb-5 { padding-bottom: var(--space-5) !important; }
.pb-6 { padding-bottom: var(--space-6) !important; }
.pb-8 { padding-bottom: var(--space-8) !important; }
.pb-10 { padding-bottom: var(--space-10) !important; }
.pb-12 { padding-bottom: var(--space-12) !important; }

/* Padding Left */
.pl-0,
.ps-0 { padding-left: 0 !important; }
.pl-1,
.ps-1 { padding-left: var(--space-1) !important; }
.pl-2,
.ps-2 { padding-left: var(--space-2) !important; }
.pl-3,
.ps-3 { padding-left: var(--space-3) !important; }
.pl-4,
.ps-4 { padding-left: var(--space-4) !important; }
.pl-5,
.ps-5 { padding-left: var(--space-5) !important; }
.pl-6,
.ps-6 { padding-left: var(--space-6) !important; }

/* Padding X-Axis */
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: var(--space-1) !important; padding-right: var(--space-1) !important; }
.px-2 { padding-left: var(--space-2) !important; padding-right: var(--space-2) !important; }
.px-3 { padding-left: var(--space-3) !important; padding-right: var(--space-3) !important; }
.px-4 { padding-left: var(--space-4) !important; padding-right: var(--space-4) !important; }
.px-5 { padding-left: var(--space-5) !important; padding-right: var(--space-5) !important; }
.px-6 { padding-left: var(--space-6) !important; padding-right: var(--space-6) !important; }

/* Padding Y-Axis */
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: var(--space-1) !important; padding-bottom: var(--space-1) !important; }
.py-2 { padding-top: var(--space-2) !important; padding-bottom: var(--space-2) !important; }
.py-3 { padding-top: var(--space-3) !important; padding-bottom: var(--space-3) !important; }
.py-4 { padding-top: var(--space-4) !important; padding-bottom: var(--space-4) !important; }
.py-5 { padding-top: var(--space-5) !important; padding-bottom: var(--space-5) !important; }
.py-6 { padding-top: var(--space-6) !important; padding-bottom: var(--space-6) !important; }
.py-8 { padding-top: var(--space-8) !important; padding-bottom: var(--space-8) !important; }

/* =============================================================================
   GAP UTILITIES (FOR FLEXBOX/GRID)
   ============================================================================= */

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

/* Row Gap */
.row-gap-0 { row-gap: 0 !important; }
.row-gap-1 { row-gap: var(--space-1) !important; }
.row-gap-2 { row-gap: var(--space-2) !important; }
.row-gap-3 { row-gap: var(--space-3) !important; }
.row-gap-4 { row-gap: var(--space-4) !important; }

/* Column Gap */
.column-gap-0 { column-gap: 0 !important; }
.column-gap-1 { column-gap: var(--space-1) !important; }
.column-gap-2 { column-gap: var(--space-2) !important; }
.column-gap-3 { column-gap: var(--space-3) !important; }
.column-gap-4 { column-gap: var(--space-4) !important; }

/* =============================================================================
   SECTION SPACING
   ============================================================================= */

.section {
    padding-top: var(--space-12);
    padding-bottom: var(--space-12);
}

.section-sm {
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
}

.section-lg {
    padding-top: var(--space-16);
    padding-bottom: var(--space-16);
}

