/* ========================
   Color Utility Classes
   Text and Background Colors
   ======================== */

/* ========================
   PRIMARY COLOR UTILITIES
   ======================== */

/* Primary Text Colors */
.text-primary-25 {
  color: var(--bs-primary-25) !important;
}
.text-primary-50 {
  color: var(--bs-primary-50) !important;
}
.text-primary-100 {
  color: var(--bs-primary-100) !important;
}
.text-primary-200 {
  color: var(--bs-primary-200) !important;
}
.text-primary-300 {
  color: var(--bs-primary-300) !important;
}
.text-primary-350 {
  color: var(--bs-primary-350) !important;
}
.text-primary-400 {
  color: var(--bs-primary-400) !important;
}
.text-primary-500 {
  color: var(--bs-primary-500) !important;
}
.text-primary-600 {
  color: var(--bs-primary-600) !important;
}
.text-primary-700 {
  color: var(--bs-primary-700) !important;
}
.text-primary-800 {
  color: var(--bs-primary-800) !important;
}
.text-primary-900 {
  color: var(--bs-primary-900) !important;
}

/* Primary Background Colors */
.bg-primary-25 {
  background-color: var(--bs-primary-25) !important;
}
.bg-primary-50 {
  background-color: var(--bs-primary-50) !important;
}
.bg-primary-100 {
  background-color: var(--bs-primary-100) !important;
}
.bg-primary-200 {
  background-color: var(--bs-primary-200) !important;
}
.bg-primary-300 {
  background-color: var(--bs-primary-300) !important;
}
.bg-primary-350 {
  background-color: var(--bs-primary-350) !important;
}
.bg-primary-400 {
  background-color: var(--bs-primary-400) !important;
}
.bg-primary-500 {
  background-color: var(--bs-primary-500) !important;
}
.bg-primary-600 {
  background-color: var(--bs-primary-600) !important;
}
.bg-primary-700 {
  background-color: var(--bs-primary-700) !important;
}
.bg-primary-800 {
  background-color: var(--bs-primary-800) !important;
}
.bg-primary-900 {
  background-color: var(--bs-primary-900) !important;
}

/* ========================
   SECONDARY COLOR UTILITIES
   ======================== */

/* Secondary Text Colors */
.text-secondary-25 {
  color: var(--bs-secondary-25) !important;
}
.text-secondary-50 {
  color: var(--bs-secondary-50) !important;
}
.text-secondary-100 {
  color: var(--bs-secondary-100) !important;
}
.text-secondary-200 {
  color: var(--bs-secondary-200) !important;
}
.text-secondary-300 {
  color: var(--bs-secondary-300) !important;
}
.text-secondary-400 {
  color: var(--bs-secondary-400) !important;
}
.text-secondary-500 {
  color: var(--bs-secondary-500) !important;
}
.text-secondary-600 {
  color: var(--bs-secondary-600) !important;
}
.text-secondary-700 {
  color: var(--bs-secondary-700) !important;
}
.text-secondary-800 {
  color: var(--bs-secondary-800) !important;
}
.text-secondary-900 {
  color: var(--bs-secondary-900) !important;
}

/* Secondary Background Colors */
.bg-secondary-25 {
  background-color: var(--bs-secondary-25) !important;
}
.bg-secondary-50 {
  background-color: var(--bs-secondary-50) !important;
}
.bg-secondary-100 {
  background-color: var(--bs-secondary-100) !important;
}
.bg-secondary-200 {
  background-color: var(--bs-secondary-200) !important;
}
.bg-secondary-300 {
  background-color: var(--bs-secondary-300) !important;
}
.bg-secondary-400 {
  background-color: var(--bs-secondary-400) !important;
}
.bg-secondary-500 {
  background-color: var(--bs-secondary-500) !important;
}
.bg-secondary-600 {
  background-color: var(--bs-secondary-600) !important;
}
.bg-secondary-700 {
  background-color: var(--bs-secondary-700) !important;
}
.bg-secondary-800 {
  background-color: var(--bs-secondary-800) !important;
}
.bg-secondary-900 {
  background-color: var(--bs-secondary-900) !important;
}

/* ========================
   NEUTRAL COLOR UTILITIES
   ======================== */

/* Neutral Text Colors */
.text-neutral-50 {
  color: var(--neutral-50) !important;
}
.text-neutral-100 {
  color: var(--neutral-100) !important;
}
.text-neutral-200 {
  color: var(--neutral-200) !important;
}
.text-neutral-300 {
  color: var(--neutral-300) !important;
}
.text-neutral-400 {
  color: var(--neutral-400) !important;
}
.text-neutral-500 {
  color: var(--neutral-500) !important;
}
.text-neutral-600 {
  color: var(--neutral-600) !important;
}
.text-neutral-700 {
  color: var(--neutral-700) !important;
}

/* Neutral Background Colors */
.bg-neutral-50 {
  background-color: var(--neutral-50) !important;
}
.bg-neutral-100 {
  background-color: var(--neutral-100) !important;
}
.bg-neutral-200 {
  background-color: var(--neutral-200) !important;
}
.bg-neutral-300 {
  background-color: var(--neutral-300) !important;
}
.bg-neutral-400 {
  background-color: var(--neutral-400) !important;
}
.bg-neutral-500 {
  background-color: var(--neutral-500) !important;
}
.bg-neutral-600 {
  background-color: var(--neutral-600) !important;
}
.bg-neutral-700 {
  background-color: var(--neutral-700) !important;
}

/* ========================
   SEMANTIC COLOR UTILITIES
   ======================== */

/* Default Semantic Text Colors */
.text-primary {
  color: var(--bs-primary) !important;
}

.text-secondary {
  color: var(--bs-secondary) !important;
}

.text-emphasis {
  color: var(--bs-emphasis-color) !important;
}

.text-muted {
  color: var(--bs-secondary-color) !important;
}

.text-white {
  color: #ffffff !important;
}

.text-black {
  color: var(--bs-black) !important;
}

/* Default Semantic Background Colors */
.bg-primary {
  background-color: var(--bs-primary) !important;
}

.bg-secondary {
  background-color: var(--bs-secondary) !important;
}

.bg-emphasis {
  background-color: var(--bs-emphasis-color) !important;
}

.bg-muted {
  background-color: var(--bs-secondary-color) !important;
}

.bg-white {
  background-color: #ffffff !important;
}

.bg-black {
  background-color: var(--bs-black) !important;
}

/* Success Colors */
.text-success {
  color: var(--bs-success) !important;
}
.bg-success {
  background-color: var(--bs-success) !important;
}
.text-success-100 {
  color: var(--bs-success-100) !important;
}
.bg-success-100 {
  background-color: var(--bs-success-100) !important;
}

/* Danger/Alert Colors */
.text-danger {
  color: var(--bs-danger) !important;
}
.bg-danger {
  background-color: var(--bs-danger) !important;
}

/* Light Colors */
.text-light {
  color: var(--bs-light) !important;
}
.bg-light {
  background-color: var(--bs-light) !important;
}

/* Dark Colors */
.text-dark {
  color: var(--bs-dark) !important;
}
.bg-dark {
  background-color: var(--bs-dark) !important;
}

/* Body Colors */
.text-body {
  color: var(--bs-body-color) !important;
}
.bg-body {
  background-color: var(--bs-body-bg) !important;
}

/* Link Colors */
.text-link {
  color: var(--bs-link-color) !important;
}
.text-link-hover {
  color: var(--bs-link-hover-color) !important;
}

/* ========================
   FOOTER SPECIFIC COLORS
   ======================== */

.text-footer-link {
  color: var(--footer-link-color) !important;
}
.text-footer-border {
  color: var(--footer-border-color) !important;
}
.text-footer-dot {
  color: var(--footer-dot-color) !important;
}

/* ========================
   OVERLAY COLOR UTILITIES
   ======================== */

.bg-overlay-light-green {
  background-color: var(--overlay-light-green) !important;
}
.bg-overlay-dark-primary {
  background-color: var(--overlay-dark-primary) !important;
}
.bg-overlay-dark-primary-80 {
  background-color: var(--overlay-dark-primary-80) !important;
}
.bg-overlay-dark-black-12 {
  background-color: var(--overlay-dark-black-12) !important;
}
.bg-overlay-dark-black-25 {
  background-color: var(--overlay-dark-black-25) !important;
}
.bg-overlay-primary-body-08 {
  background-color: var(--overlay-primary-body-08) !important;
}
.bg-overlay-primary-text-80 {
  background-color: var(--overlay-primary-text-80) !important;
}

/* ========================
   BORDER COLOR UTILITIES
   ======================== */

.border-primary-25 {
  border-color: var(--bs-primary-25) !important;
}
.border-primary-50 {
  border-color: var(--bs-primary-50) !important;
}
.border-primary-100 {
  border-color: var(--bs-primary-100) !important;
}
.border-primary-200 {
  border-color: var(--bs-primary-200) !important;
}
.border-primary-300 {
  border-color: var(--bs-primary-300) !important;
}
.border-primary-350 {
  border-color: var(--bs-primary-350) !important;
}
.border-primary-400 {
  border-color: var(--bs-primary-400) !important;
}
.border-primary-500 {
  border-color: var(--bs-primary-500) !important;
}
.border-primary-600 {
  border-color: var(--bs-primary-600) !important;
}
.border-primary-700 {
  border-color: var(--bs-primary-700) !important;
}
.border-primary-800 {
  border-color: var(--bs-primary-800) !important;
}
.border-primary-900 {
  border-color: var(--bs-primary-900) !important;
}

.border-secondary-25 {
  border-color: var(--bs-secondary-25) !important;
}
.border-secondary-50 {
  border-color: var(--bs-secondary-50) !important;
}
.border-secondary-100 {
  border-color: var(--bs-secondary-100) !important;
}
.border-secondary-200 {
  border-color: var(--bs-secondary-200) !important;
}
.border-secondary-300 {
  border-color: var(--bs-secondary-300) !important;
}
.border-secondary-400 {
  border-color: var(--bs-secondary-400) !important;
}
.border-secondary-500 {
  border-color: var(--bs-secondary-500) !important;
}
.border-secondary-600 {
  border-color: var(--bs-secondary-600) !important;
}
.border-secondary-700 {
  border-color: var(--bs-secondary-700) !important;
}
.border-secondary-800 {
  border-color: var(--bs-secondary-800) !important;
}
.border-secondary-900 {
  border-color: var(--bs-secondary-900) !important;
}

.border-neutral-100 {
  border-color: var(--neutral-100) !important;
}
.border-neutral-50 {
  border-color: var(--neutral-50) !important;
}
.border-neutral-200 {
  border-color: var(--neutral-200) !important;
}
.border-neutral-300 {
  border-color: var(--neutral-300) !important;
}
.border-neutral-400 {
  border-color: var(--neutral-400) !important;
}
.border-neutral-500 {
  border-color: var(--neutral-500) !important;
}
.border-neutral-600 {
  border-color: var(--neutral-600) !important;
}
.border-neutral-700 {
  border-color: var(--neutral-700) !important;
}

.border-success {
  border-color: var(--bs-success) !important;
}
.border-danger {
  border-color: var(--bs-danger) !important;
}
.border-light {
  border-color: var(--bs-light) !important;
}
.border-dark {
  border-color: var(--bs-dark) !important;
}
