/* ============================================
   SPACING.CSS - UTILITIES D'ESPACEMENT
   ============================================ */

/* ===== MARGIN - TOP ===== */
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: var(--spacing-xs) !important; }
.mt-2 { margin-top: var(--spacing-sm) !important; }
.mt-3 { margin-top: var(--spacing-md) !important; }
.mt-4 { margin-top: var(--spacing-lg) !important; }
.mt-5 { margin-top: var(--spacing-xl) !important; }
.mt-6 { margin-top: var(--spacing-2xl) !important; }

/* ===== MARGIN - BOTTOM ===== */
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: var(--spacing-xs) !important; }
.mb-2 { margin-bottom: var(--spacing-sm) !important; }
.mb-3 { margin-bottom: var(--spacing-md) !important; }
.mb-4 { margin-bottom: var(--spacing-lg) !important; }
.mb-5 { margin-bottom: var(--spacing-xl) !important; }
.mb-6 { margin-bottom: var(--spacing-2xl) !important; }

/* ===== MARGIN - LEFT ===== */
.ml-0 { margin-left: 0 !important; }
.ml-1 { margin-left: var(--spacing-xs) !important; }
.ml-2 { margin-left: var(--spacing-sm) !important; }
.ml-3 { margin-left: var(--spacing-md) !important; }
.ml-4 { margin-left: var(--spacing-lg) !important; }
.ml-5 { margin-left: var(--spacing-xl) !important; }
.ml-6 { margin-left: var(--spacing-2xl) !important; }

/* ===== MARGIN - RIGHT ===== */
.mr-0 { margin-right: 0 !important; }
.mr-1 { margin-right: var(--spacing-xs) !important; }
.mr-2 { margin-right: var(--spacing-sm) !important; }
.mr-3 { margin-right: var(--spacing-md) !important; }
.mr-4 { margin-right: var(--spacing-lg) !important; }
.mr-5 { margin-right: var(--spacing-xl) !important; }
.mr-6 { margin-right: var(--spacing-2xl) !important; }

/* ===== MARGIN - HORIZONTAL ===== */
.mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-1 { margin-left: var(--spacing-xs) !important; margin-right: var(--spacing-xs) !important; }
.mx-2 { margin-left: var(--spacing-sm) !important; margin-right: var(--spacing-sm) !important; }
.mx-3 { margin-left: var(--spacing-md) !important; margin-right: var(--spacing-md) !important; }
.mx-4 { margin-left: var(--spacing-lg) !important; margin-right: var(--spacing-lg) !important; }
.mx-5 { margin-left: var(--spacing-xl) !important; margin-right: var(--spacing-xl) !important; }
.mx-6 { margin-left: var(--spacing-2xl) !important; margin-right: var(--spacing-2xl) !important; }

/* ===== MARGIN - VERTICAL ===== */
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-1 { margin-top: var(--spacing-xs) !important; margin-bottom: var(--spacing-xs) !important; }
.my-2 { margin-top: var(--spacing-sm) !important; margin-bottom: var(--spacing-sm) !important; }
.my-3 { margin-top: var(--spacing-md) !important; margin-bottom: var(--spacing-md) !important; }
.my-4 { margin-top: var(--spacing-lg) !important; margin-bottom: var(--spacing-lg) !important; }
.my-5 { margin-top: var(--spacing-xl) !important; margin-bottom: var(--spacing-xl) !important; }
.my-6 { margin-top: var(--spacing-2xl) !important; margin-bottom: var(--spacing-2xl) !important; }

/* ===== PADDING - TOP ===== */
.pt-0 { padding-top: 0 !important; }
.pt-1 { padding-top: var(--spacing-xs) !important; }
.pt-2 { padding-top: var(--spacing-sm) !important; }
.pt-3 { padding-top: var(--spacing-md) !important; }
.pt-4 { padding-top: var(--spacing-lg) !important; }
.pt-5 { padding-top: var(--spacing-xl) !important; }
.pt-6 { padding-top: var(--spacing-2xl) !important; }

/* ===== PADDING - BOTTOM ===== */
.pb-0 { padding-bottom: 0 !important; }
.pb-1 { padding-bottom: var(--spacing-xs) !important; }
.pb-2 { padding-bottom: var(--spacing-sm) !important; }
.pb-3 { padding-bottom: var(--spacing-md) !important; }
.pb-4 { padding-bottom: var(--spacing-lg) !important; }
.pb-5 { padding-bottom: var(--spacing-xl) !important; }
.pb-6 { padding-bottom: var(--spacing-2xl) !important; }

/* ===== PADDING - LEFT ===== */
.pl-0 { padding-left: 0 !important; }
.pl-1 { padding-left: var(--spacing-xs) !important; }
.pl-2 { padding-left: var(--spacing-sm) !important; }
.pl-3 { padding-left: var(--spacing-md) !important; }
.pl-4 { padding-left: var(--spacing-lg) !important; }
.pl-5 { padding-left: var(--spacing-xl) !important; }
.pl-6 { padding-left: var(--spacing-2xl) !important; }

/* ===== PADDING - RIGHT ===== */
.pr-0 { padding-right: 0 !important; }
.pr-1 { padding-right: var(--spacing-xs) !important; }
.pr-2 { padding-right: var(--spacing-sm) !important; }
.pr-3 { padding-right: var(--spacing-md) !important; }
.pr-4 { padding-right: var(--spacing-lg) !important; }
.pr-5 { padding-right: var(--spacing-xl) !important; }
.pr-6 { padding-right: var(--spacing-2xl) !important; }

/* ===== PADDING - HORIZONTAL ===== */
.px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-1 { padding-left: var(--spacing-xs) !important; padding-right: var(--spacing-xs) !important; }
.px-2 { padding-left: var(--spacing-sm) !important; padding-right: var(--spacing-sm) !important; }
.px-3 { padding-left: var(--spacing-md) !important; padding-right: var(--spacing-md) !important; }
.px-4 { padding-left: var(--spacing-lg) !important; padding-right: var(--spacing-lg) !important; }
.px-5 { padding-left: var(--spacing-xl) !important; padding-right: var(--spacing-xl) !important; }
.px-6 { padding-left: var(--spacing-2xl) !important; padding-right: var(--spacing-2xl) !important; }

/* ===== PADDING - VERTICAL ===== */
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-1 { padding-top: var(--spacing-xs) !important; padding-bottom: var(--spacing-xs) !important; }
.py-2 { padding-top: var(--spacing-sm) !important; padding-bottom: var(--spacing-sm) !important; }
.py-3 { padding-top: var(--spacing-md) !important; padding-bottom: var(--spacing-md) !important; }
.py-4 { padding-top: var(--spacing-lg) !important; padding-bottom: var(--spacing-lg) !important; }
.py-5 { padding-top: var(--spacing-xl) !important; padding-bottom: var(--spacing-xl) !important; }
.py-6 { padding-top: var(--spacing-2xl) !important; padding-bottom: var(--spacing-2xl) !important; }

/* ===== PADDING - ALL SIDES ===== */
.p-0 { padding: 0 !important; }
.p-1 { padding: var(--spacing-xs) !important; }
.p-2 { padding: var(--spacing-sm) !important; }
.p-3 { padding: var(--spacing-md) !important; }
.p-4 { padding: var(--spacing-lg) !important; }
.p-5 { padding: var(--spacing-xl) !important; }
.p-6 { padding: var(--spacing-2xl) !important; }

/* ===== GAP (Flexbox & Grid) ===== */
.gap-0 { gap: 0 !important; }
.gap-1 { gap: var(--spacing-xs) !important; }
.gap-2 { gap: var(--spacing-sm) !important; }
.gap-3 { gap: var(--spacing-md) !important; }
.gap-4 { gap: var(--spacing-lg) !important; }
.gap-5 { gap: var(--spacing-xl) !important; }
.gap-6 { gap: var(--spacing-2xl) !important; }

/* ===== RESPONSIVE UTILITIES ===== */
@media (max-width: 768px) {
    .md\:mt-0 { margin-top: 0 !important; }
    .md\:mt-1 { margin-top: var(--spacing-xs) !important; }
    .md\:mt-2 { margin-top: var(--spacing-sm) !important; }
    .md\:mt-3 { margin-top: var(--spacing-md) !important; }
    
    .md\:mb-0 { margin-bottom: 0 !important; }
    .md\:mb-1 { margin-bottom: var(--spacing-xs) !important; }
    .md\:mb-2 { margin-bottom: var(--spacing-sm) !important; }
    .md\:mb-3 { margin-bottom: var(--spacing-md) !important; }
    
    .md\:p-1 { padding: var(--spacing-xs) !important; }
    .md\:p-2 { padding: var(--spacing-sm) !important; }
    .md\:p-3 { padding: var(--spacing-md) !important; }
    .md\:p-4 { padding: var(--spacing-lg) !important; }
    
    .md\:px-2 { padding-left: var(--spacing-sm) !important; padding-right: var(--spacing-sm) !important; }
    .md\:py-2 { padding-top: var(--spacing-sm) !important; padding-bottom: var(--spacing-sm) !important; }
    
    .md\:gap-2 { gap: var(--spacing-sm) !important; }
    .md\:gap-3 { gap: var(--spacing-md) !important; }
}

@media (max-width: 480px) {
    .sm\:m-0 { margin: 0 !important; }
    .sm\:m-1 { margin: var(--spacing-xs) !important; }
    .sm\:m-2 { margin: var(--spacing-sm) !important; }
    
    .sm\:p-1 { padding: var(--spacing-xs) !important; }
    .sm\:p-2 { padding: var(--spacing-sm) !important; }
    
    .sm\:gap-1 { gap: var(--spacing-xs) !important; }
    .sm\:gap-2 { gap: var(--spacing-sm) !important; }
}