:root {
  --spacing-token-vertical-xl: var(--spacing-extra-lg-vertical, 6rem);
  --spacing-token-vertical-lg: var(--spacing-lg-vertical, 4.5rem);
  --spacing-token-vertical-md: var(--spacing-vertical, 3rem);
  --spacing-token-vertical-sm: var(--spacing-sm-vertical, 2rem);
  --spacing-token-vertical-xs: var(--spacing-xs-vertical, 1rem);

  --spacing-token-horizontal-xl: var(--spacing-extra-lg-horizontal, 3rem);
  --spacing-token-horizontal-lg: var(--spacing-lg-horizontal, 2.5rem);
  --spacing-token-horizontal-md: var(--spacing-horizontal, 1.75rem);
  --spacing-token-horizontal-sm: var(--spacing-sm-horizontal, 1.25rem);
  --spacing-token-horizontal-xs: var(--spacing-xs-horizontal, 0.75rem);
}

/* Section helpers */
.section-padding {
  padding-top: var(--spacing-token-vertical-xl) !important;
  padding-bottom: var(--spacing-token-vertical-xl) !important;
}

.section-padding.featured-packages,
.section-padding.section-padding-sm,
.section-padding.section-padding-small {
  padding-top: var(--spacing-token-vertical-xl) !important;
  padding-bottom: var(--spacing-token-vertical-sm) !important;
}

.section-padding.section-padding-lg,
.section-padding.section-padding-large {
  padding-top: var(--spacing-token-vertical-xl) !important;
  padding-bottom: var(--spacing-token-vertical-lg) !important;
}

/* Margin utilities */
.mt-5,
.mt-10,
.mt-15 {
  margin-top: var(--spacing-token-vertical-xs) !important;
}

.mt-20,
.mt-25,
.mt-30,
.mt-35 {
  margin-top: var(--spacing-token-vertical-sm) !important;
}

.mt-40,
.mt-45,
.mt-50,
.mt-55,
.mt-60,
.mt-65,
.mt-70,
.mt-75 {
  margin-top: var(--spacing-token-vertical-md) !important;
}

.mt-80,
.mt-85,
.mt-90,
.mt-95,
.mt-100,
.mt-105,
.mt-110,
.mt-115 {
  margin-top: var(--spacing-token-vertical-lg) !important;
}

.mt-120,
.mt-125,
.mt-130,
.mt-135,
.mt-140,
.mt-145,
.mt-150,
.mt-155,
.mt-160,
.mt-165,
.mt-170,
.mt-175,
.mt-180,
.mt-185,
.mt-190,
.mt-195,
.mt-200 {
  margin-top: var(--spacing-token-vertical-xl) !important;
}

.mb-5,
.mb-10,
.mb-15 {
  margin-bottom: var(--spacing-token-vertical-xs) !important;
}

.mb-20,
.mb-25,
.mb-30,
.mb-35 {
  margin-bottom: var(--spacing-token-vertical-sm) !important;
}

.mb-40,
.mb-45,
.mb-50,
.mb-55,
.mb-60,
.mb-65,
.mb-70,
.mb-75 {
  margin-bottom: var(--spacing-token-vertical-md) !important;
}

.mb-80,
.mb-85,
.mb-90,
.mb-95,
.mb-100,
.mb-105,
.mb-110,
.mb-115 {
  margin-bottom: var(--spacing-token-vertical-lg) !important;
}

.mb-120,
.mb-125,
.mb-130,
.mb-135,
.mb-140,
.mb-145,
.mb-150,
.mb-155,
.mb-160,
.mb-165,
.mb-170,
.mb-175,
.mb-180,
.mb-185,
.mb-190,
.mb-195,
.mb-200 {
  margin-bottom: var(--spacing-token-vertical-xl) !important;
}

.my-5,
.my-10,
.my-15 {
  margin-top: var(--spacing-token-vertical-xs) !important;
  margin-bottom: var(--spacing-token-vertical-xs) !important;
}

.my-20,
.my-25,
.my-30,
.my-35 {
  margin-top: var(--spacing-token-vertical-sm) !important;
  margin-bottom: var(--spacing-token-vertical-sm) !important;
}

.my-40,
.my-45,
.my-50,
.my-55,
.my-60,
.my-65,
.my-70,
.my-75 {
  margin-top: var(--spacing-token-vertical-md) !important;
  margin-bottom: var(--spacing-token-vertical-md) !important;
}

.my-80,
.my-85,
.my-90,
.my-95,
.my-100,
.my-105,
.my-110,
.my-115 {
  margin-top: var(--spacing-token-vertical-lg) !important;
  margin-bottom: var(--spacing-token-vertical-lg) !important;
}

.my-120,
.my-125,
.my-130,
.my-135,
.my-140,
.my-145,
.my-150,
.my-155,
.my-160,
.my-165,
.my-170,
.my-175,
.my-180,
.my-185,
.my-190,
.my-195,
.my-200 {
  margin-top: var(--spacing-token-vertical-xl) !important;
  margin-bottom: var(--spacing-token-vertical-xl) !important;
}

/* Padding utilities */
.pt-5,
.pt-10,
.pt-15 {
  padding-top: var(--spacing-token-vertical-xs) !important;
}

.pt-20,
.pt-25,
.pt-30,
.pt-35 {
  padding-top: var(--spacing-token-vertical-sm) !important;
}

.pt-40,
.pt-45,
.pt-50,
.pt-55,
.pt-60,
.pt-65,
.pt-70,
.pt-75 {
  padding-top: var(--spacing-token-vertical-md) !important;
}

.pt-80,
.pt-85,
.pt-90,
.pt-95,
.pt-100,
.pt-105,
.pt-110,
.pt-115 {
  padding-top: var(--spacing-token-vertical-lg) !important;
}

.pt-120,
.pt-125,
.pt-130,
.pt-135,
.pt-140,
.pt-145,
.pt-150,
.pt-155,
.pt-160,
.pt-165,
.pt-170,
.pt-175,
.pt-180,
.pt-185,
.pt-190,
.pt-195,
.pt-200 {
  padding-top: var(--spacing-token-vertical-xl) !important;
}

.pb-5,
.pb-10,
.pb-15 {
  padding-bottom: var(--spacing-token-vertical-xs) !important;
}

.pb-20,
.pb-25,
.pb-30,
.pb-35 {
  padding-bottom: var(--spacing-token-vertical-sm) !important;
}

.pb-40,
.pb-45,
.pb-50,
.pb-55,
.pb-60,
.pb-65,
.pb-70,
.pb-75 {
  padding-bottom: var(--spacing-token-vertical-md) !important;
}

.pb-80,
.pb-85,
.pb-90,
.pb-95,
.pb-100,
.pb-105,
.pb-110,
.pb-115 {
  padding-bottom: var(--spacing-token-vertical-lg) !important;
}

.pb-120,
.pb-125,
.pb-130,
.pb-135,
.pb-140,
.pb-145,
.pb-150,
.pb-155,
.pb-160,
.pb-165,
.pb-170,
.pb-175,
.pb-180,
.pb-185,
.pb-190,
.pb-195,
.pb-200 {
  padding-bottom: var(--spacing-token-vertical-xl) !important;
}

.py-5,
.py-10,
.py-15 {
  padding-top: var(--spacing-token-vertical-xs) !important;
  padding-bottom: var(--spacing-token-vertical-xs) !important;
}

.py-20,
.py-25,
.py-30,
.py-35 {
  padding-top: var(--spacing-token-vertical-sm) !important;
  padding-bottom: var(--spacing-token-vertical-sm) !important;
}

.py-40,
.py-45,
.py-50,
.py-55,
.py-60,
.py-65,
.py-70,
.py-75 {
  padding-top: var(--spacing-token-vertical-md) !important;
  padding-bottom: var(--spacing-token-vertical-md) !important;
}

.py-80,
.py-85,
.py-90,
.py-95,
.py-100,
.py-105,
.py-110,
.py-115 {
  padding-top: var(--spacing-token-vertical-lg) !important;
  padding-bottom: var(--spacing-token-vertical-lg) !important;
}

.py-120,
.py-125,
.py-130,
.py-135,
.py-140,
.py-145,
.py-150,
.py-155,
.py-160,
.py-165,
.py-170,
.py-175,
.py-180,
.py-185,
.py-190,
.py-195,
.py-200 {
  padding-top: var(--spacing-token-vertical-xl) !important;
  padding-bottom: var(--spacing-token-vertical-xl) !important;
}

/* Horizontal margin utilities */
.ml-5,
.ml-10,
.ml-15 {
  margin-left: var(--spacing-token-horizontal-xs) !important;
}

.ml-20,
.ml-25,
.ml-30,
.ml-35 {
  margin-left: var(--spacing-token-horizontal-sm) !important;
}

.ml-40,
.ml-45,
.ml-50,
.ml-55,
.ml-60,
.ml-65,
.ml-70,
.ml-75 {
  margin-left: var(--spacing-token-horizontal-md) !important;
}

.ml-80,
.ml-85,
.ml-90,
.ml-95,
.ml-100,
.ml-105,
.ml-110,
.ml-115 {
  margin-left: var(--spacing-token-horizontal-lg) !important;
}

.ml-120,
.ml-125,
.ml-130,
.ml-135,
.ml-140,
.ml-145,
.ml-150,
.ml-155,
.ml-160,
.ml-165,
.ml-170,
.ml-175,
.ml-180,
.ml-185,
.ml-190,
.ml-195,
.ml-200 {
  margin-left: var(--spacing-token-horizontal-xl) !important;
}

.mr-5,
.mr-10,
.mr-15 {
  margin-right: var(--spacing-token-horizontal-xs) !important;
}

.mr-20,
.mr-25,
.mr-30,
.mr-35 {
  margin-right: var(--spacing-token-horizontal-sm) !important;
}

.mr-40,
.mr-45,
.mr-50,
.mr-55,
.mr-60,
.mr-65,
.mr-70,
.mr-75 {
  margin-right: var(--spacing-token-horizontal-md) !important;
}

.mr-80,
.mr-85,
.mr-90,
.mr-95,
.mr-100,
.mr-105,
.mr-110,
.mr-115 {
  margin-right: var(--spacing-token-horizontal-lg) !important;
}

.mr-120,
.mr-125,
.mr-130,
.mr-135,
.mr-140,
.mr-145,
.mr-150,
.mr-155,
.mr-160,
.mr-165,
.mr-170,
.mr-175,
.mr-180,
.mr-185,
.mr-190,
.mr-195,
.mr-200 {
  margin-right: var(--spacing-token-horizontal-xl) !important;
}

.mx-5,
.mx-10,
.mx-15 {
  margin-left: var(--spacing-token-horizontal-xs) !important;
  margin-right: var(--spacing-token-horizontal-xs) !important;
}

.mx-20,
.mx-25,
.mx-30,
.mx-35 {
  margin-left: var(--spacing-token-horizontal-sm) !important;
  margin-right: var(--spacing-token-horizontal-sm) !important;
}

.mx-40,
.mx-45,
.mx-50,
.mx-55,
.mx-60,
.mx-65,
.mx-70,
.mx-75 {
  margin-left: var(--spacing-token-horizontal-md) !important;
  margin-right: var(--spacing-token-horizontal-md) !important;
}

.mx-80,
.mx-85,
.mx-90,
.mx-95,
.mx-100,
.mx-105,
.mx-110,
.mx-115 {
  margin-left: var(--spacing-token-horizontal-lg) !important;
  margin-right: var(--spacing-token-horizontal-lg) !important;
}

.mx-120,
.mx-125,
.mx-130,
.mx-135,
.mx-140,
.mx-145,
.mx-150,
.mx-155,
.mx-160,
.mx-165,
.mx-170,
.mx-175,
.mx-180,
.mx-185,
.mx-190,
.mx-195,
.mx-200 {
  margin-left: var(--spacing-token-horizontal-xl) !important;
  margin-right: var(--spacing-token-horizontal-xl) !important;
}

/* Horizontal padding utilities */
.pl-5,
.pl-10,
.pl-15 {
  padding-left: var(--spacing-token-horizontal-xs) !important;
}

.pl-20,
.pl-25,
.pl-30,
.pl-35 {
  padding-left: var(--spacing-token-horizontal-sm) !important;
}

.pl-40,
.pl-45,
.pl-50,
.pl-55,
.pl-60,
.pl-65,
.pl-70,
.pl-75 {
  padding-left: var(--spacing-token-horizontal-md) !important;
}

.pl-80,
.pl-85,
.pl-90,
.pl-95,
.pl-100,
.pl-105,
.pl-110,
.pl-115 {
  padding-left: var(--spacing-token-horizontal-lg) !important;
}

.pl-120,
.pl-125,
.pl-130,
.pl-135,
.pl-140,
.pl-145,
.pl-150,
.pl-155,
.pl-160,
.pl-165,
.pl-170,
.pl-175,
.pl-180,
.pl-185,
.pl-190,
.pl-195,
.pl-200 {
  padding-left: var(--spacing-token-horizontal-xl) !important;
}

.pr-5,
.pr-10,
.pr-15 {
  padding-right: var(--spacing-token-horizontal-xs) !important;
}

.pr-20,
.pr-25,
.pr-30,
.pr-35 {
  padding-right: var(--spacing-token-horizontal-sm) !important;
}

.pr-40,
.pr-45,
.pr-50,
.pr-55,
.pr-60,
.pr-65,
.pr-70,
.pr-75 {
  padding-right: var(--spacing-token-horizontal-md) !important;
}

.pr-80,
.pr-85,
.pr-90,
.pr-95,
.pr-100,
.pr-105,
.pr-110,
.pr-115 {
  padding-right: var(--spacing-token-horizontal-lg) !important;
}

.pr-120,
.pr-125,
.pr-130,
.pr-135,
.pr-140,
.pr-145,
.pr-150,
.pr-155,
.pr-160,
.pr-165,
.pr-170,
.pr-175,
.pr-180,
.pr-185,
.pr-190,
.pr-195,
.pr-200 {
  padding-right: var(--spacing-token-horizontal-xl) !important;
}

.px-5,
.px-10,
.px-15 {
  padding-left: var(--spacing-token-horizontal-xs) !important;
  padding-right: var(--spacing-token-horizontal-xs) !important;
}

.px-20,
.px-25,
.px-30,
.px-35 {
  padding-left: var(--spacing-token-horizontal-sm) !important;
  padding-right: var(--spacing-token-horizontal-sm) !important;
}

.px-40,
.px-45,
.px-50,
.px-55,
.px-60,
.px-65,
.px-70,
.px-75 {
  padding-left: var(--spacing-token-horizontal-md) !important;
  padding-right: var(--spacing-token-horizontal-md) !important;
}

.px-80,
.px-85,
.px-90,
.px-95,
.px-100,
.px-105,
.px-110,
.px-115 {
  padding-left: var(--spacing-token-horizontal-lg) !important;
  padding-right: var(--spacing-token-horizontal-lg) !important;
}

.px-120,
.px-125,
.px-130,
.px-135,
.px-140,
.px-145,
.px-150,
.px-155,
.px-160,
.px-165,
.px-170,
.px-175,
.px-180,
.px-185,
.px-190,
.px-195,
.px-200 {
  padding-left: var(--spacing-token-horizontal-xl) !important;
  padding-right: var(--spacing-token-horizontal-xl) !important;
}

/* Generic gap helpers */
[class*="grid-gap-25"],
.grid-gap-25 {
  gap: var(--spacing-token-horizontal-sm) !important;
}

.gap-10,
.gap-15,
.gap-16 {
  gap: var(--spacing-token-horizontal-xs) !important;
}

.gap-20,
.gap-24,
.gap-25,
.gap-30 {
  gap: var(--spacing-token-horizontal-md) !important;
}

.gap-40,
.gap-50 {
  gap: var(--spacing-token-horizontal-lg) !important;
}

.gap-60,
.gap-70,
.gap-80 {
  gap: var(--spacing-token-horizontal-xl) !important;
}
