@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-4xs {
    margin: var(--ed-space-4xs);
  }
  .ed-m-3xs {
    margin: var(--ed-space-3xs);
  }
  .ed-m-2xs {
    margin: var(--ed-space-2xs);
  }
  .ed-m-xs {
    margin: var(--ed-space-xs);
  }
  .ed-m-s {
    margin: var(--ed-space-s);
  }
  .ed-m-m {
    margin: var(--ed-space-m);
  }
  .ed-m-l {
    margin: var(--ed-space-l);
  }
  .ed-m-xl {
    margin: var(--ed-space-xl);
  }
  .ed-m-2xl {
    margin: var(--ed-space-2xl);
  }
  .ed-m-3xl {
    margin: var(--ed-space-3xl);
  }
  .ed-m-4xl {
    margin: var(--ed-space-4xl);
  }

  /* ---------- Margin: Inline (X) ---------- */
  .ed-mx-4xs {
    margin-inline: var(--ed-space-4xs);
  }
  .ed-mx-3xs {
    margin-inline: var(--ed-space-3xs);
  }
  .ed-mx-2xs {
    margin-inline: var(--ed-space-2xs);
  }
  .ed-mx-xs {
    margin-inline: var(--ed-space-xs);
  }
  .ed-mx-s {
    margin-inline: var(--ed-space-s);
  }
  .ed-mx-m {
    margin-inline: var(--ed-space-m);
  }
  .ed-mx-l {
    margin-inline: var(--ed-space-l);
  }
  .ed-mx-xl {
    margin-inline: var(--ed-space-xl);
  }
  .ed-mx-2xl {
    margin-inline: var(--ed-space-2xl);
  }
  .ed-mx-3xl {
    margin-inline: var(--ed-space-3xl);
  }
  .ed-mx-4xl {
    margin-inline: var(--ed-space-4xl);
  }

  /* ---------- Margin: Block (Y) ---------- */
  .ed-my-4xs {
    margin-block: var(--ed-space-4xs);
  }
  .ed-my-3xs {
    margin-block: var(--ed-space-3xs);
  }
  .ed-my-2xs {
    margin-block: var(--ed-space-2xs);
  }
  .ed-my-xs {
    margin-block: var(--ed-space-xs);
  }
  .ed-my-s {
    margin-block: var(--ed-space-s);
  }
  .ed-my-m {
    margin-block: var(--ed-space-m);
  }
  .ed-my-l {
    margin-block: var(--ed-space-l);
  }
  .ed-my-xl {
    margin-block: var(--ed-space-xl);
  }
  .ed-my-2xl {
    margin-block: var(--ed-space-2xl);
  }
  .ed-my-3xl {
    margin-block: var(--ed-space-3xl);
  }
  .ed-my-4xl {
    margin-block: var(--ed-space-4xl);
  }

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

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

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

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

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

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

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

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

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

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

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

  /* =========================================================
     ======================== 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-4xs {
    padding: var(--ed-space-4xs);
  }
  .ed-p-3xs {
    padding: var(--ed-space-3xs);
  }
  .ed-p-2xs {
    padding: var(--ed-space-2xs);
  }
  .ed-p-xs {
    padding: var(--ed-space-xs);
  }
  .ed-p-s {
    padding: var(--ed-space-s);
  }
  .ed-p-m {
    padding: var(--ed-space-m);
  }
  .ed-p-l {
    padding: var(--ed-space-l);
  }
  .ed-p-xl {
    padding: var(--ed-space-xl);
  }
  .ed-p-2xl {
    padding: var(--ed-space-2xl);
  }
  .ed-p-3xl {
    padding: var(--ed-space-3xl);
  }
  .ed-p-4xl {
    padding: var(--ed-space-4xl);
  }

  /* ---------- Padding: Inline / Block ---------- */
  .ed-px-4xs {
    padding-inline: var(--ed-space-4xs);
  }
  .ed-px-3xs {
    padding-inline: var(--ed-space-3xs);
  }
  .ed-px-2xs {
    padding-inline: var(--ed-space-2xs);
  }
  .ed-px-xs {
    padding-inline: var(--ed-space-xs);
  }
  .ed-px-s {
    padding-inline: var(--ed-space-s);
  }
  .ed-px-m {
    padding-inline: var(--ed-space-m);
  }
  .ed-px-l {
    padding-inline: var(--ed-space-l);
  }
  .ed-px-xl {
    padding-inline: var(--ed-space-xl);
  }
  .ed-px-2xl {
    padding-inline: var(--ed-space-2xl);
  }
  .ed-px-3xl {
    padding-inline: var(--ed-space-3xl);
  }
  .ed-px-4xl {
    padding-inline: var(--ed-space-4xl);
  }

  .ed-py-4xs {
    padding-block: var(--ed-space-4xs);
  }
  .ed-py-3xs {
    padding-block: var(--ed-space-3xs);
  }
  .ed-py-2xs {
    padding-block: var(--ed-space-2xs);
  }
  .ed-py-xs {
    padding-block: var(--ed-space-xs);
  }
  .ed-py-s {
    padding-block: var(--ed-space-s);
  }
  .ed-py-m {
    padding-block: var(--ed-space-m);
  }
  .ed-py-l {
    padding-block: var(--ed-space-l);
  }
  .ed-py-xl {
    padding-block: var(--ed-space-xl);
  }
  .ed-py-2xl {
    padding-block: var(--ed-space-2xl);
  }
  .ed-py-3xl {
    padding-block: var(--ed-space-3xl);
  }
  .ed-py-4xl {
    padding-block: var(--ed-space-4xl);
  }

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

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

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

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

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

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

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

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

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

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

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