:root{
	--spacer: 1rem;
	--space-0: 0;
	--space-1: calc(var(--spacer) * 0.25);
	--space-2: calc(var(--spacer) * 0.5);
	--space-3: var(--spacer);
	--space-4: calc(var(--spacer) * 1.5);
	--space-5: calc(var(--spacer) * 3);
}

/* Helpers */
.m-0{margin:var(--space-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-auto{margin:auto!important;}

.p-0{padding:var(--space-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;}

/* Axes */
.mx-0{margin-inline:var(--space-0)!important;}
.mx-1{margin-inline:var(--space-1)!important;}
.mx-2{margin-inline:var(--space-2)!important;}
.mx-3{margin-inline:var(--space-3)!important;}
.mx-4{margin-inline:var(--space-4)!important;}
.mx-5{margin-inline:var(--space-5)!important;}
.mx-auto{margin-inline:auto!important;}

.my-0{margin-block:var(--space-0)!important;}
.my-1{margin-block:var(--space-1)!important;}
.my-2{margin-block:var(--space-2)!important;}
.my-3{margin-block:var(--space-3)!important;}
.my-4{margin-block:var(--space-4)!important;}
.my-5{margin-block:var(--space-5)!important;}

.px-0{padding-inline:var(--space-0)!important;}
.px-1{padding-inline:var(--space-1)!important;}
.px-2{padding-inline:var(--space-2)!important;}
.px-3{padding-inline:var(--space-3)!important;}
.px-4{padding-inline:var(--space-4)!important;}
.px-5{padding-inline:var(--space-5)!important;}

.py-0{padding-block:var(--space-0)!important;}
.py-1{padding-block:var(--space-1)!important;}
.py-2{padding-block:var(--space-2)!important;}
.py-3{padding-block:var(--space-3)!important;}
.py-4{padding-block:var(--space-4)!important;}
.py-5{padding-block:var(--space-5)!important;}

/* Individual sides using logical properties for RTL safety */
.mt-0{margin-block-start:var(--space-0)!important;}
.mt-1{margin-block-start:var(--space-1)!important;}
.mt-2{margin-block-start:var(--space-2)!important;}
.mt-3{margin-block-start:var(--space-3)!important;}
.mt-4{margin-block-start:var(--space-4)!important;}
.mt-5{margin-block-start:var(--space-5)!important;}
.mt-auto{margin-block-start:auto!important;}

.mb-0{margin-block-end:var(--space-0)!important;}
.mb-1{margin-block-end:var(--space-1)!important;}
.mb-2{margin-block-end:var(--space-2)!important;}
.mb-3{margin-block-end:var(--space-3)!important;}
.mb-4{margin-block-end:var(--space-4)!important;}
.mb-5{margin-block-end:var(--space-5)!important;}
.mb-auto{margin-block-end:auto!important;}

.ms-0{margin-inline-start:var(--space-0)!important;}
.ms-1{margin-inline-start:var(--space-1)!important;}
.ms-2{margin-inline-start:var(--space-2)!important;}
.ms-3{margin-inline-start:var(--space-3)!important;}
.ms-4{margin-inline-start:var(--space-4)!important;}
.ms-5{margin-inline-start:var(--space-5)!important;}
.ms-auto{margin-inline-start:auto!important;}

.me-0{margin-inline-end:var(--space-0)!important;}
.me-1{margin-inline-end:var(--space-1)!important;}
.me-2{margin-inline-end:var(--space-2)!important;}
.me-3{margin-inline-end:var(--space-3)!important;}
.me-4{margin-inline-end:var(--space-4)!important;}
.me-5{margin-inline-end:var(--space-5)!important;}
.me-auto{margin-inline-end:auto!important;}

.pt-0{padding-block-start:var(--space-0)!important;}
.pt-1{padding-block-start:var(--space-1)!important;}
.pt-2{padding-block-start:var(--space-2)!important;}
.pt-3{padding-block-start:var(--space-3)!important;}
.pt-4{padding-block-start:var(--space-4)!important;}
.pt-5{padding-block-start:var(--space-5)!important;}

.pb-0{padding-block-end:var(--space-0)!important;}
.pb-1{padding-block-end:var(--space-1)!important;}
.pb-2{padding-block-end:var(--space-2)!important;}
.pb-3{padding-block-end:var(--space-3)!important;}
.pb-4{padding-block-end:var(--space-4)!important;}
.pb-5{padding-block-end:var(--space-5)!important;}

.ps-0{padding-inline-start:var(--space-0)!important;}
.ps-1{padding-inline-start:var(--space-1)!important;}
.ps-2{padding-inline-start:var(--space-2)!important;}
.ps-3{padding-inline-start:var(--space-3)!important;}
.ps-4{padding-inline-start:var(--space-4)!important;}
.ps-5{padding-inline-start:var(--space-5)!important;}

.pe-0{padding-inline-end:var(--space-0)!important;}
.pe-1{padding-inline-end:var(--space-1)!important;}
.pe-2{padding-inline-end:var(--space-2)!important;}
.pe-3{padding-inline-end:var(--space-3)!important;}
.pe-4{padding-inline-end:var(--space-4)!important;}
.pe-5{padding-inline-end:var(--space-5)!important;}
 