/* util.helpers.css */
.text-primary {
  color: var(--color-primary) !important;
}
.text-secondary {
  color: var(--primary-hover) !important;
}
.bg-primary {
  background-color: var(--color-primary) !important;
}
.bg-light {
  background-color: var(--light-background) !important;
}
.border-primary {
  border-color: var(--color-primary) !important;
}

/* Spacing */
.m-0 {
  margin: 0 !important;
}
.m-1 {
  margin: var(--spacing-xs) !important;
}
.m-2 {
  margin: var(--spacing-sm) !important;
}
.m-3 {
  margin: var(--spacing-md) !important;
}
.m-4 {
  margin: var(--spacing-lg) !important;
}
.m-5 {
  margin: var(--spacing-xl) !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;
}

/* 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;
}

/* 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;
}

/* 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;
}

.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;
}

/* 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;
}

/* 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;
}

/* 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;
}

/* 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;
}

/* Positioning */
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}

/* Font weights & text transforms */
.font-weight-normal {
  font-weight: 400 !important;
}
.font-weight-bold {
  font-weight: 700 !important;
}
.font-weight-500 {
  font-weight: 500 !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}
.text-lowercase {
  text-transform: lowercase !important;
}

/* Borders & radius */
.border {
  border: 1px solid var(--input-border-color) !important;
}
.border-0 {
  border: 0 !important;
}
.border-top {
  border-top: 1px solid var(--input-border-color) !important;
}
.border-bottom {
  border-bottom: 1px solid var(--input-border-color) !important;
}
.border-left {
  border-left: 1px solid var(--input-border-color) !important;
}
.border-right {
  border-right: 1px solid var(--input-border-color) !important;
}
.rounded {
  border-radius: var(--border-radius) !important;
}
.rounded-0 {
  border-radius: 0 !important;
}

/* Shadows */
.shadow {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.shadow-sm {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.shadow-lg {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}
.shadow-none {
  box-shadow: none !important;
}

/* Opacity & transitions */
.opacity-0 {
  opacity: 0 !important;
}
.opacity-25 {
  opacity: 0.25 !important;
}
.opacity-50 {
  opacity: 0.5 !important;
}
.opacity-75 {
  opacity: 0.75 !important;
}
.opacity-100 {
  opacity: 1 !important;
}
.transition {
  transition: all var(--transition-speed) ease !important;
}
.transition-fast {
  transition: all 0.15s ease !important;
}
.transition-slow {
  transition: all 0.5s ease !important;
}
