@layer ed-utilities {
  /* =========================================================
     ======================== MARGIN =========================
     ========================================================= */

  /* ---------- Margin: 0 ---------- */
  .ed-m-0 {
    margin: 0;
  }
  .ed-mx-0 {
    margin-inline: 0;
  }
  .ed-my-0 {
    margin-block: 0;
  }
  .ed-mt-0 {
    margin-block-start: 0;
  }
  .ed-mb-0 {
    margin-block-end: 0;
  }
  .ed-ml-0 {
    margin-inline-start: 0;
  }
  .ed-mr-0 {
    margin-inline-end: 0;
  }

  /* ---------- Margin: Auto ---------- */
  .ed-m-auto {
    margin: auto;
  }
  .ed-mx-auto {
    margin-inline: auto;
  }
  .ed-ml-auto {
    margin-inline-start: auto;
  }
  .ed-mr-auto {
    margin-inline-end: auto;
  }

  /* ---------- Margin: All Sides ---------- */
  .ed-m-1 {
    margin: var(--ed-space-1);
  }
  .ed-m-2 {
    margin: var(--ed-space-2);
  }
  .ed-m-3 {
    margin: var(--ed-space-3);
  }
  .ed-m-4 {
    margin: var(--ed-space-4);
  }
  .ed-m-5 {
    margin: var(--ed-space-5);
  }
  .ed-m-6 {
    margin: var(--ed-space-6);
  }
  .ed-m-7 {
    margin: var(--ed-space-7);
  }
  .ed-m-8 {
    margin: var(--ed-space-8);
  }
  .ed-m-9 {
    margin: var(--ed-space-9);
  }
  .ed-m-10 {
    margin: var(--ed-space-10);
  }
  .ed-m-11 {
    margin: var(--ed-space-11);
  }
  .ed-m-12 {
    margin: var(--ed-space-12);
  }
  .ed-m-13 {
    margin: var(--ed-space-13);
  }
  .ed-m-14 {
    margin: var(--ed-space-14);
  }
  .ed-m-15 {
    margin: var(--ed-space-15);
  }
  .ed-m-16 {
    margin: var(--ed-space-16);
  }

  /* ---------- Margin: Inline (X) ---------- */
  .ed-mx-1 {
    margin-inline: var(--ed-space-1);
  }
  .ed-mx-2 {
    margin-inline: var(--ed-space-2);
  }
  .ed-mx-3 {
    margin-inline: var(--ed-space-3);
  }
  .ed-mx-4 {
    margin-inline: var(--ed-space-4);
  }
  .ed-mx-5 {
    margin-inline: var(--ed-space-5);
  }
  .ed-mx-6 {
    margin-inline: var(--ed-space-6);
  }
  .ed-mx-7 {
    margin-inline: var(--ed-space-7);
  }
  .ed-mx-8 {
    margin-inline: var(--ed-space-8);
  }
  .ed-mx-9 {
    margin-inline: var(--ed-space-9);
  }
  .ed-mx-10 {
    margin-inline: var(--ed-space-10);
  }
  .ed-mx-11 {
    margin-inline: var(--ed-space-11);
  }
  .ed-mx-12 {
    margin-inline: var(--ed-space-12);
  }
  .ed-mx-13 {
    margin-inline: var(--ed-space-13);
  }
  .ed-mx-14 {
    margin-inline: var(--ed-space-14);
  }
  .ed-mx-15 {
    margin-inline: var(--ed-space-15);
  }
  .ed-mx-16 {
    margin-inline: var(--ed-space-16);
  }

  /* ---------- Margin: Block (Y) ---------- */
  .ed-my-1 {
    margin-block: var(--ed-space-1);
  }
  .ed-my-2 {
    margin-block: var(--ed-space-2);
  }
  .ed-my-3 {
    margin-block: var(--ed-space-3);
  }
  .ed-my-4 {
    margin-block: var(--ed-space-4);
  }
  .ed-my-5 {
    margin-block: var(--ed-space-5);
  }
  .ed-my-6 {
    margin-block: var(--ed-space-6);
  }
  .ed-my-7 {
    margin-block: var(--ed-space-7);
  }
  .ed-my-8 {
    margin-block: var(--ed-space-8);
  }
  .ed-my-9 {
    margin-block: var(--ed-space-9);
  }
  .ed-my-10 {
    margin-block: var(--ed-space-10);
  }
  .ed-my-11 {
    margin-block: var(--ed-space-11);
  }
  .ed-my-12 {
    margin-block: var(--ed-space-12);
  }
  .ed-my-13 {
    margin-block: var(--ed-space-13);
  }
  .ed-my-14 {
    margin-block: var(--ed-space-14);
  }
  .ed-my-15 {
    margin-block: var(--ed-space-15);
  }
  .ed-my-16 {
    margin-block: var(--ed-space-16);
  }

  /* ---------- Margin: Individual Sides ---------- */
  .ed-mt-1 {
    margin-block-start: var(--ed-space-1);
  }
  .ed-mr-1 {
    margin-inline-end: var(--ed-space-1);
  }
  .ed-mb-1 {
    margin-block-end: var(--ed-space-1);
  }
  .ed-ml-1 {
    margin-inline-start: var(--ed-space-1);
  }

  .ed-mt-2 {
    margin-block-start: var(--ed-space-2);
  }
  .ed-mr-2 {
    margin-inline-end: var(--ed-space-2);
  }
  .ed-mb-2 {
    margin-block-end: var(--ed-space-2);
  }
  .ed-ml-2 {
    margin-inline-start: var(--ed-space-2);
  }

  .ed-mt-3 {
    margin-block-start: var(--ed-space-3);
  }
  .ed-mr-3 {
    margin-inline-end: var(--ed-space-3);
  }
  .ed-mb-3 {
    margin-block-end: var(--ed-space-3);
  }
  .ed-ml-3 {
    margin-inline-start: var(--ed-space-3);
  }

  .ed-mt-4 {
    margin-block-start: var(--ed-space-4);
  }
  .ed-mr-4 {
    margin-inline-end: var(--ed-space-4);
  }
  .ed-mb-4 {
    margin-block-end: var(--ed-space-4);
  }
  .ed-ml-4 {
    margin-inline-start: var(--ed-space-4);
  }

  .ed-mt-5 {
    margin-block-start: var(--ed-space-5);
  }
  .ed-mr-5 {
    margin-inline-end: var(--ed-space-5);
  }
  .ed-mb-5 {
    margin-block-end: var(--ed-space-5);
  }
  .ed-ml-5 {
    margin-inline-start: var(--ed-space-5);
  }

  .ed-mt-6 {
    margin-block-start: var(--ed-space-6);
  }
  .ed-mr-6 {
    margin-inline-end: var(--ed-space-6);
  }
  .ed-mb-6 {
    margin-block-end: var(--ed-space-6);
  }
  .ed-ml-6 {
    margin-inline-start: var(--ed-space-6);
  }

  .ed-mt-7 {
    margin-block-start: var(--ed-space-7);
  }
  .ed-mr-7 {
    margin-inline-end: var(--ed-space-7);
  }
  .ed-mb-7 {
    margin-block-end: var(--ed-space-7);
  }
  .ed-ml-7 {
    margin-inline-start: var(--ed-space-7);
  }

  .ed-mt-8 {
    margin-block-start: var(--ed-space-8);
  }
  .ed-mr-8 {
    margin-inline-end: var(--ed-space-8);
  }
  .ed-mb-8 {
    margin-block-end: var(--ed-space-8);
  }
  .ed-ml-8 {
    margin-inline-start: var(--ed-space-8);
  }

  .ed-mt-9 {
    margin-block-start: var(--ed-space-9);
  }
  .ed-mr-9 {
    margin-inline-end: var(--ed-space-9);
  }
  .ed-mb-9 {
    margin-block-end: var(--ed-space-9);
  }
  .ed-ml-9 {
    margin-inline-start: var(--ed-space-9);
  }

  .ed-mt-10 {
    margin-block-start: var(--ed-space-10);
  }
  .ed-mr-10 {
    margin-inline-end: var(--ed-space-10);
  }
  .ed-mb-10 {
    margin-block-end: var(--ed-space-10);
  }
  .ed-ml-10 {
    margin-inline-start: var(--ed-space-10);
  }

  .ed-mt-11 {
    margin-block-start: var(--ed-space-11);
  }
  .ed-mr-11 {
    margin-inline-end: var(--ed-space-11);
  }
  .ed-mb-11 {
    margin-block-end: var(--ed-space-11);
  }
  .ed-ml-11 {
    margin-inline-start: var(--ed-space-11);
  }

  .ed-mt-12 {
    margin-block-start: var(--ed-space-12);
  }
  .ed-mr-12 {
    margin-inline-end: var(--ed-space-12);
  }
  .ed-mb-12 {
    margin-block-end: var(--ed-space-12);
  }
  .ed-ml-12 {
    margin-inline-start: var(--ed-space-12);
  }

  .ed-mt-13 {
    margin-block-start: var(--ed-space-13);
  }
  .ed-mr-13 {
    margin-inline-end: var(--ed-space-13);
  }
  .ed-mb-13 {
    margin-block-end: var(--ed-space-13);
  }
  .ed-ml-13 {
    margin-inline-start: var(--ed-space-13);
  }

  .ed-mt-14 {
    margin-block-start: var(--ed-space-14);
  }
  .ed-mr-14 {
    margin-inline-end: var(--ed-space-14);
  }
  .ed-mb-14 {
    margin-block-end: var(--ed-space-14);
  }
  .ed-ml-14 {
    margin-inline-start: var(--ed-space-14);
  }

  .ed-mt-15 {
    margin-block-start: var(--ed-space-15);
  }
  .ed-mr-15 {
    margin-inline-end: var(--ed-space-15);
  }
  .ed-mb-15 {
    margin-block-end: var(--ed-space-15);
  }
  .ed-ml-15 {
    margin-inline-start: var(--ed-space-15);
  }

  .ed-mt-16 {
    margin-block-start: var(--ed-space-16);
  }
  .ed-mr-16 {
    margin-inline-end: var(--ed-space-16);
  }
  .ed-mb-16 {
    margin-block-end: var(--ed-space-16);
  }
  .ed-ml-16 {
    margin-inline-start: var(--ed-space-16);
  }

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

  /* ---------- Padding: 0 ---------- */
  .ed-p-0 {
    padding: 0;
  }
  .ed-px-0 {
    padding-inline: 0;
  }
  .ed-py-0 {
    padding-block: 0;
  }
  .ed-pt-0 {
    padding-block-start: 0;
  }
  .ed-pb-0 {
    padding-block-end: 0;
  }
  .ed-pl-0 {
    padding-inline-start: 0;
  }
  .ed-pr-0 {
    padding-inline-end: 0;
  }

  /* ---------- Padding: All Sides ---------- */
  .ed-p-1 {
    padding: var(--ed-space-1);
  }
  .ed-p-2 {
    padding: var(--ed-space-2);
  }
  .ed-p-3 {
    padding: var(--ed-space-3);
  }
  .ed-p-4 {
    padding: var(--ed-space-4);
  }
  .ed-p-5 {
    padding: var(--ed-space-5);
  }
  .ed-p-6 {
    padding: var(--ed-space-6);
  }
  .ed-p-7 {
    padding: var(--ed-space-7);
  }
  .ed-p-8 {
    padding: var(--ed-space-8);
  }
  .ed-p-9 {
    padding: var(--ed-space-9);
  }
  .ed-p-10 {
    padding: var(--ed-space-10);
  }
  .ed-p-11 {
    padding: var(--ed-space-11);
  }
  .ed-p-12 {
    padding: var(--ed-space-12);
  }
  .ed-p-13 {
    padding: var(--ed-space-13);
  }
  .ed-p-14 {
    padding: var(--ed-space-14);
  }
  .ed-p-15 {
    padding: var(--ed-space-15);
  }
  .ed-p-16 {
    padding: var(--ed-space-16);
  }

  /* ---------- Padding: Inline (X) ---------- */
  .ed-px-1 {
    padding-inline: var(--ed-space-1);
  }
  .ed-px-2 {
    padding-inline: var(--ed-space-2);
  }
  .ed-px-3 {
    padding-inline: var(--ed-space-3);
  }
  .ed-px-4 {
    padding-inline: var(--ed-space-4);
  }
  .ed-px-5 {
    padding-inline: var(--ed-space-5);
  }
  .ed-px-6 {
    padding-inline: var(--ed-space-6);
  }
  .ed-px-7 {
    padding-inline: var(--ed-space-7);
  }
  .ed-px-8 {
    padding-inline: var(--ed-space-8);
  }
  .ed-px-9 {
    padding-inline: var(--ed-space-9);
  }
  .ed-px-10 {
    padding-inline: var(--ed-space-10);
  }
  .ed-px-11 {
    padding-inline: var(--ed-space-11);
  }
  .ed-px-12 {
    padding-inline: var(--ed-space-12);
  }
  .ed-px-13 {
    padding-inline: var(--ed-space-13);
  }
  .ed-px-14 {
    padding-inline: var(--ed-space-14);
  }
  .ed-px-15 {
    padding-inline: var(--ed-space-15);
  }
  .ed-px-16 {
    padding-inline: var(--ed-space-16);
  }

  /* ---------- Padding: Block (Y) ---------- */
  .ed-py-1 {
    padding-block: var(--ed-space-1);
  }
  .ed-py-2 {
    padding-block: var(--ed-space-2);
  }
  .ed-py-3 {
    padding-block: var(--ed-space-3);
  }
  .ed-py-4 {
    padding-block: var(--ed-space-4);
  }
  .ed-py-5 {
    padding-block: var(--ed-space-5);
  }
  .ed-py-6 {
    padding-block: var(--ed-space-6);
  }
  .ed-py-7 {
    padding-block: var(--ed-space-7);
  }
  .ed-py-8 {
    padding-block: var(--ed-space-8);
  }
  .ed-py-9 {
    padding-block: var(--ed-space-9);
  }
  .ed-py-10 {
    padding-block: var(--ed-space-10);
  }
  .ed-py-11 {
    padding-block: var(--ed-space-11);
  }
  .ed-py-12 {
    padding-block: var(--ed-space-12);
  }
  .ed-py-13 {
    padding-block: var(--ed-space-13);
  }
  .ed-py-14 {
    padding-block: var(--ed-space-14);
  }
  .ed-py-15 {
    padding-block: var(--ed-space-15);
  }
  .ed-py-16 {
    padding-block: var(--ed-space-16);
  }

  /* ---------- Padding: Individual Sides ---------- */
  .ed-pt-1 {
    padding-block-start: var(--ed-space-1);
  }
  .ed-pr-1 {
    padding-inline-end: var(--ed-space-1);
  }
  .ed-pb-1 {
    padding-block-end: var(--ed-space-1);
  }
  .ed-pl-1 {
    padding-inline-start: var(--ed-space-1);
  }

  .ed-pt-2 {
    padding-block-start: var(--ed-space-2);
  }
  .ed-pr-2 {
    padding-inline-end: var(--ed-space-2);
  }
  .ed-pb-2 {
    padding-block-end: var(--ed-space-2);
  }
  .ed-pl-2 {
    padding-inline-start: var(--ed-space-2);
  }

  .ed-pt-3 {
    padding-block-start: var(--ed-space-3);
  }
  .ed-pr-3 {
    padding-inline-end: var(--ed-space-3);
  }
  .ed-pb-3 {
    padding-block-end: var(--ed-space-3);
  }
  .ed-pl-3 {
    padding-inline-start: var(--ed-space-3);
  }

  .ed-pt-4 {
    padding-block-start: var(--ed-space-4);
  }
  .ed-pr-4 {
    padding-inline-end: var(--ed-space-4);
  }
  .ed-pb-4 {
    padding-block-end: var(--ed-space-4);
  }
  .ed-pl-4 {
    padding-inline-start: var(--ed-space-4);
  }

  .ed-pt-5 {
    padding-block-start: var(--ed-space-5);
  }
  .ed-pr-5 {
    padding-inline-end: var(--ed-space-5);
  }
  .ed-pb-5 {
    padding-block-end: var(--ed-space-5);
  }
  .ed-pl-5 {
    padding-inline-start: var(--ed-space-5);
  }

  .ed-pt-6 {
    padding-block-start: var(--ed-space-6);
  }
  .ed-pr-6 {
    padding-inline-end: var(--ed-space-6);
  }
  .ed-pb-6 {
    padding-block-end: var(--ed-space-6);
  }
  .ed-pl-6 {
    padding-inline-start: var(--ed-space-6);
  }

  .ed-pt-7 {
    padding-block-start: var(--ed-space-7);
  }
  .ed-pr-7 {
    padding-inline-end: var(--ed-space-7);
  }
  .ed-pb-7 {
    padding-block-end: var(--ed-space-7);
  }
  .ed-pl-7 {
    padding-inline-start: var(--ed-space-7);
  }

  .ed-pt-8 {
    padding-block-start: var(--ed-space-8);
  }
  .ed-pr-8 {
    padding-inline-end: var(--ed-space-8);
  }
  .ed-pb-8 {
    padding-block-end: var(--ed-space-8);
  }
  .ed-pl-8 {
    padding-inline-start: var(--ed-space-8);
  }

  .ed-pt-9 {
    padding-block-start: var(--ed-space-9);
  }
  .ed-pr-9 {
    padding-inline-end: var(--ed-space-9);
  }
  .ed-pb-9 {
    padding-block-end: var(--ed-space-9);
  }
  .ed-pl-9 {
    padding-inline-start: var(--ed-space-9);
  }

  .ed-pt-10 {
    padding-block-start: var(--ed-space-10);
  }
  .ed-pr-10 {
    padding-inline-end: var(--ed-space-10);
  }
  .ed-pb-10 {
    padding-block-end: var(--ed-space-10);
  }
  .ed-pl-10 {
    padding-inline-start: var(--ed-space-10);
  }

  .ed-pt-11 {
    padding-block-start: var(--ed-space-11);
  }
  .ed-pr-11 {
    padding-inline-end: var(--ed-space-11);
  }
  .ed-pb-11 {
    padding-block-end: var(--ed-space-11);
  }
  .ed-pl-11 {
    padding-inline-start: var(--ed-space-11);
  }

  .ed-pt-12 {
    padding-block-start: var(--ed-space-12);
  }
  .ed-pr-12 {
    padding-inline-end: var(--ed-space-12);
  }
  .ed-pb-12 {
    padding-block-end: var(--ed-space-12);
  }
  .ed-pl-12 {
    padding-inline-start: var(--ed-space-12);
  }

  .ed-pt-13 {
    padding-block-start: var(--ed-space-13);
  }
  .ed-pr-13 {
    padding-inline-end: var(--ed-space-13);
  }
  .ed-pb-13 {
    padding-block-end: var(--ed-space-13);
  }
  .ed-pl-13 {
    padding-inline-start: var(--ed-space-13);
  }

  .ed-pt-14 {
    padding-block-start: var(--ed-space-14);
  }
  .ed-pr-14 {
    padding-inline-end: var(--ed-space-14);
  }
  .ed-pb-14 {
    padding-block-end: var(--ed-space-14);
  }
  .ed-pl-14 {
    padding-inline-start: var(--ed-space-14);
  }

  .ed-pt-15 {
    padding-block-start: var(--ed-space-15);
  }
  .ed-pr-15 {
    padding-inline-end: var(--ed-space-15);
  }
  .ed-pb-15 {
    padding-block-end: var(--ed-space-15);
  }
  .ed-pl-15 {
    padding-inline-start: var(--ed-space-15);
  }

  .ed-pt-16 {
    padding-block-start: var(--ed-space-16);
  }
  .ed-pr-16 {
    padding-inline-end: var(--ed-space-16);
  }
  .ed-pb-16 {
    padding-block-end: var(--ed-space-16);
  }
  .ed-pl-16 {
    padding-inline-start: var(--ed-space-16);
  }
}
