/* Variables */
:root {
  --theme-black: #000;
  --theme-white: #fff;

  /* Primary Yellow */
  --theme-primary-yellow-900: #6B4F00;
  --theme-primary-yellow-800: #9E7500;
  --theme-primary-yellow-700: #C79300;
  --theme-primary-yellow-600: #F0B500;
  --theme-primary-yellow-500: #FFC923;
  --theme-primary-yellow-400: #FFD353;
  --theme-primary-yellow-300: #FFDD84;
  --theme-primary-yellow-200: #FFE9AD;
  --theme-primary-yellow-100: #FFF4D6;
  --theme-primary-yellow-50: #FFFBFO;

  /* Primary Orange */
  --theme-primary-orange-900: #6B4407;
  --theme-primary-orange-800: #915C09;
  --theme-primary-orange-700: #B8740B;
  --theme-primary-orange-600: #D8890D;
  --theme-primary-orange-500: #F19B0F;
  --theme-primary-orange-400: #FFB740;
  --theme-primary-orange-300: #FFD270;
  --theme-primary-orange-200: #FFE19F;
  --theme-primary-orange-100: #FFF0CF;
  --theme-primary-orange-50: #FFF8E7;

  /* Secondary Orange */
  --theme-secondary-orange-900: #7A4010;
  --theme-secondary-orange-800: #A05315;
  --theme-secondary-orange-700: #C6651A;
  --theme-secondary-orange-600: #E6771F;
  --theme-secondary-orange-500: #FF8524;
  --theme-secondary-orange-400: #FFA158;
  --theme-secondary-orange-300: #FFBD8D;
  --theme-secondary-orange-200: #FFD3B3;
  --theme-secondary-orange-100: #FFE9D9;
  --theme-secondary-orange-50: #FFF4EC;

  /* Accent Red */
  --theme-accent-red-900: #6B0A00;
  --theme-accent-red-800: #940E00;
  --theme-accent-red-700: #BD1200;
  --theme-accent-red-600: #E61700;
  --theme-accent-red-500: #FF240B;
  --theme-accent-red-400: #FF6155;
  --theme-accent-red-300: #FF9E96;
  --theme-accent-red-200: #FFC1BB;
  --theme-accent-red-100: #FFE0DD;
  --theme-accent-red-50: #FFF1F0;

  /* Primary Blue */
  --theme-primary-blue-900: #020926;
  --theme-primary-blue-800: #051CA4;
  --theme-primary-blue-700: #1128AD;
  --theme-primary-blue-600: #1F38D6;
  --theme-primary-blue-500: #3D56FF;
  --theme-primary-blue-400: #6B7FFF;
  --theme-primary-blue-300: #99A8FF;
  --theme-primary-blue-200: #C1CBFF;
  --theme-primary-blue-100: #E0E5FF;
  --theme-primary-blue-50: #F0F2FF;

  /* Blue Gray */
  --theme-blue-gray-900: #101828;
  --theme-blue-gray-800: #1D2939;
  --theme-blue-gray-700: #344054;
  --theme-blue-gray-600: #475467;
  --theme-blue-gray-500: #667085;
  --theme-blue-gray-400: #98A2B3;
  --theme-blue-gray-300: #D0D5DD;
  --theme-blue-gray-200: #E4E7ED;
  --theme-blue-gray-100: #F1F3F7;
  --theme-blue-gray-50: #F8F9FB;
}

/* --- Text Utility Classes --- */
.theme-text-black { color: var(--theme-black); }
.theme-text-white { color: var(--theme-white); }

/* Yellow Text */
.theme-text-primary-yellow-900 { color: var(--theme-primary-yellow-900); }
.theme-text-primary-yellow-800 { color: var(--theme-primary-yellow-800); }
.theme-text-primary-yellow-700 { color: var(--theme-primary-yellow-700); }
.theme-text-primary-yellow-600 { color: var(--theme-primary-yellow-600); }
.theme-text-primary-yellow-500 { color: var(--theme-primary-yellow-500); }
.theme-text-primary-yellow-400 { color: var(--theme-primary-yellow-400); }
.theme-text-primary-yellow-300 { color: var(--theme-primary-yellow-300); }
.theme-text-primary-yellow-200 { color: var(--theme-primary-yellow-200); }
.theme-text-primary-yellow-100 { color: var(--theme-primary-yellow-100); }
.theme-text-primary-yellow-50 { color: var(--theme-primary-yellow-50); }

/* Orange Text */
.theme-text-primary-orange-900 { color: var(--theme-primary-orange-900); }
.theme-text-primary-orange-800 { color: var(--theme-primary-orange-800); }
.theme-text-primary-orange-700 { color: var(--theme-primary-orange-700); }
.theme-text-primary-orange-600 { color: var(--theme-primary-orange-600); }
.theme-text-primary-orange-500 { color: var(--theme-primary-orange-500); }
.theme-text-primary-orange-400 { color: var(--theme-primary-orange-400); }
.theme-text-primary-orange-300 { color: var(--theme-primary-orange-300); }
.theme-text-primary-orange-200 { color: var(--theme-primary-orange-200); }
.theme-text-primary-orange-100 { color: var(--theme-primary-orange-100); }
.theme-text-primary-orange-50 { color: var(--theme-primary-orange-50); }

/* Secondary Orange Text */
.theme-text-secondary-orange-900 { color: var(--theme-secondary-orange-900); }
.theme-text-secondary-orange-800 { color: var(--theme-secondary-orange-800); }
.theme-text-secondary-orange-700 { color: var(--theme-secondary-orange-700); }
.theme-text-secondary-orange-600 { color: var(--theme-secondary-orange-600); }
.theme-text-secondary-orange-500 { color: var(--theme-secondary-orange-500); }
.theme-text-secondary-orange-400 { color: var(--theme-secondary-orange-400); }
.theme-text-secondary-orange-300 { color: var(--theme-secondary-orange-300); }
.theme-text-secondary-orange-200 { color: var(--theme-secondary-orange-200); }
.theme-text-secondary-orange-100 { color: var(--theme-secondary-orange-100); }
.theme-text-secondary-orange-50 { color: var(--theme-secondary-orange-50); }

/* Red Text */
.theme-text-accent-red-900 { color: var(--theme-accent-red-900); }
.theme-text-accent-red-800 { color: var(--theme-accent-red-800); }
.theme-text-accent-red-700 { color: var(--theme-accent-red-700); }
.theme-text-accent-red-600 { color: var(--theme-accent-red-600); }
.theme-text-accent-red-500 { color: var(--theme-accent-red-500); }
.theme-text-accent-red-400 { color: var(--theme-accent-red-400); }
.theme-text-accent-red-300 { color: var(--theme-accent-red-300); }
.theme-text-accent-red-200 { color: var(--theme-accent-red-200); }
.theme-text-accent-red-100 { color: var(--theme-accent-red-100); }
.theme-text-accent-red-50 { color: var(--theme-accent-red-50); }

/* Blue Text */
.theme-text-primary-blue-900 { color: var(--theme-primary-blue-900); }
.theme-text-primary-blue-800 { color: var(--theme-primary-blue-800); }
.theme-text-primary-blue-700 { color: var(--theme-primary-blue-700); }
.theme-text-primary-blue-600 { color: var(--theme-primary-blue-600); }
.theme-text-primary-blue-500 { color: var(--theme-primary-blue-500); }
.theme-text-primary-blue-400 { color: var(--theme-primary-blue-400); }
.theme-text-primary-blue-300 { color: var(--theme-primary-blue-300); }
.theme-text-primary-blue-200 { color: var(--theme-primary-blue-200); }
.theme-text-primary-blue-100 { color: var(--theme-primary-blue-100); }
.theme-text-primary-blue-50 { color: var(--theme-primary-blue-50); }

/* Blue Gray Text */
.theme-text-blue-gray-900 { color: var(--theme-blue-gray-900); }
.theme-text-blue-gray-800 { color: var(--theme-blue-gray-800); }
.theme-text-blue-gray-700 { color: var(--theme-blue-gray-700); }
.theme-text-blue-gray-600 { color: var(--theme-blue-gray-600); }
.theme-text-blue-gray-500 { color: var(--theme-blue-gray-500); }
.theme-text-blue-gray-400 { color: var(--theme-blue-gray-400); }
.theme-text-blue-gray-300 { color: var(--theme-blue-gray-300); }
.theme-text-blue-gray-200 { color: var(--theme-blue-gray-200); }
.theme-text-blue-gray-100 { color: var(--theme-blue-gray-100); }
.theme-text-blue-gray-50 { color: var(--theme-blue-gray-50); }


/* --- Background Utility Classes --- */
.theme-bg-black { background-color: var(--theme-black); }
.theme-bg-white { background-color: var(--theme-white); }

/* Yellow BG */
.theme-bg-primary-yellow-900 { background-color: var(--theme-primary-yellow-900); }
.theme-bg-primary-yellow-800 { background-color: var(--theme-primary-yellow-800); }
.theme-bg-primary-yellow-700 { background-color: var(--theme-primary-yellow-700); }
.theme-bg-primary-yellow-600 { background-color: var(--theme-primary-yellow-600); }
.theme-bg-primary-yellow-500 { background-color: var(--theme-primary-yellow-500); }
.theme-bg-primary-yellow-400 { background-color: var(--theme-primary-yellow-400); }
.theme-bg-primary-yellow-300 { background-color: var(--theme-primary-yellow-300); }
.theme-bg-primary-yellow-200 { background-color: var(--theme-primary-yellow-200); }
.theme-bg-primary-yellow-100 { background-color: var(--theme-primary-yellow-100); }
.theme-bg-primary-yellow-50 { background-color: var(--theme-primary-yellow-50); }

/* Orange BG */
.theme-bg-primary-orange-900 { background-color: var(--theme-primary-orange-900); }
.theme-bg-primary-orange-800 { background-color: var(--theme-primary-orange-800); }
.theme-bg-primary-orange-700 { background-color: var(--theme-primary-orange-700); }
.theme-bg-primary-orange-600 { background-color: var(--theme-primary-orange-600); }
.theme-bg-primary-orange-500 { background-color: var(--theme-primary-orange-500); }
.theme-bg-primary-orange-400 { background-color: var(--theme-primary-orange-400); }
.theme-bg-primary-orange-300 { background-color: var(--theme-primary-orange-300); }
.theme-bg-primary-orange-200 { background-color: var(--theme-primary-orange-200); }
.theme-bg-primary-orange-100 { background-color: var(--theme-primary-orange-100); }
.theme-bg-primary-orange-50 { background-color: var(--theme-primary-orange-50); }

/* Secondary Orange BG */
.theme-bg-secondary-orange-900 { background-color: var(--theme-secondary-orange-900); }
.theme-bg-secondary-orange-800 { background-color: var(--theme-secondary-orange-800); }
.theme-bg-secondary-orange-700 { background-color: var(--theme-secondary-orange-700); }
.theme-bg-secondary-orange-600 { background-color: var(--theme-secondary-orange-600); }
.theme-bg-secondary-orange-500 { background-color: var(--theme-secondary-orange-500); }
.theme-bg-secondary-orange-400 { background-color: var(--theme-secondary-orange-400); }
.theme-bg-secondary-orange-300 { background-color: var(--theme-secondary-orange-300); }
.theme-bg-secondary-orange-200 { background-color: var(--theme-secondary-orange-200); }
.theme-bg-secondary-orange-100 { background-color: var(--theme-secondary-orange-100); }
.theme-bg-secondary-orange-50 { background-color: var(--theme-secondary-orange-50); }

/* Red BG */
.theme-bg-accent-red-900 { background-color: var(--theme-accent-red-900); }
.theme-bg-accent-red-800 { background-color: var(--theme-accent-red-800); }
.theme-bg-accent-red-700 { background-color: var(--theme-accent-red-700); }
.theme-bg-accent-red-600 { background-color: var(--theme-accent-red-600); }
.theme-bg-accent-red-500 { background-color: var(--theme-accent-red-500); }
.theme-bg-accent-red-400 { background-color: var(--theme-accent-red-400); }
.theme-bg-accent-red-300 { background-color: var(--theme-accent-red-300); }
.theme-bg-accent-red-200 { background-color: var(--theme-accent-red-200); }
.theme-bg-accent-red-100 { background-color: var(--theme-accent-red-100); }
.theme-bg-accent-red-50 { background-color: var(--theme-accent-red-50); }

/* Blue BG */
.theme-bg-primary-blue-900 { background-color: var(--theme-primary-blue-900); }
.theme-bg-primary-blue-800 { background-color: var(--theme-primary-blue-800); }
.theme-bg-primary-blue-700 { background-color: var(--theme-primary-blue-700); }
.theme-bg-primary-blue-600 { background-color: var(--theme-primary-blue-600); }
.theme-bg-primary-blue-500 { background-color: var(--theme-primary-blue-500); }
.theme-bg-primary-blue-400 { background-color: var(--theme-primary-blue-400); }
.theme-bg-primary-blue-300 { background-color: var(--theme-primary-blue-300); }
.theme-bg-primary-blue-200 { background-color: var(--theme-primary-blue-200); }
.theme-bg-primary-blue-100 { background-color: var(--theme-primary-blue-100); }
.theme-bg-primary-blue-50 { background-color: var(--theme-primary-blue-50); }

/* Blue Gray BG */
.theme-bg-blue-gray-900 { background-color: var(--theme-blue-gray-900); }
.theme-bg-blue-gray-800 { background-color: var(--theme-blue-gray-800); }
.theme-bg-blue-gray-700 { background-color: var(--theme-blue-gray-700); }
.theme-bg-blue-gray-600 { background-color: var(--theme-blue-gray-600); }
.theme-bg-blue-gray-500 { background-color: var(--theme-blue-gray-500); }
.theme-bg-blue-gray-400 { background-color: var(--theme-blue-gray-400); }
.theme-bg-blue-gray-300 { background-color: var(--theme-blue-gray-300); }
.theme-bg-blue-gray-200 { background-color: var(--theme-blue-gray-200); }
.theme-bg-blue-gray-100 { background-color: var(--theme-blue-gray-100); }
.theme-bg-blue-gray-50 { background-color: var(--theme-blue-gray-50); }