:root {
  /* Brand core colors */
  --brand-blue:        #4C6FFF;
  --brand-coral:       #FF5C5C;
  --brand-flame:       #FF7747;
  --brand-graphite:    #1E1E24;
  --brand-sandstone:   #F8F6F4;

  /* Bootstrap-like mapping – primary = blue, danger = coral, warning = flame */
  --bs-blue:           var(--brand-blue);
  --bs-indigo:         #5f3dc4;          /* kept as fallback – less used */
  --bs-purple:         #7048e8;
  --bs-pink:           #e64980;
  --bs-red:            var(--brand-coral);
  --bs-orange:         var(--brand-flame);
  --bs-yellow:         #fab005;          /* slightly adjusted for harmony */
  --bs-green:          #37b24d;
  --bs-teal:           #20c997;
  --bs-cyan:           #1ab4d6;

  --bs-black:          var(--brand-graphite);
  --bs-white:          #ffffff;
  --bs-gray:           #6b7280;          /* neutral cool gray */
  --bs-gray-dark:      #374151;

  /* Gray scale – desaturated, slightly warm-tinted for brand feel */
  --bs-gray-100:       #f9f8f7;          /* very close to Sandstone */
  --bs-gray-200:       #f0eeec;
  --bs-gray-300:       #e5e2de;
  --bs-gray-400:       #d1ccc6;
  --bs-gray-500:       #a8a29e;
  --bs-gray-600:       #7a7672;
  --bs-gray-700:       #57534e;
  --bs-gray-800:       #383532;
  --bs-gray-900:       var(--brand-graphite);

  /* Theme colors */
  --bs-primary:        var(--brand-blue);
  --bs-secondary:      var(--bs-gray-600);
  --bs-success:        #16a34a;
  --bs-info:           #0891b2;
  --bs-warning:        var(--brand-flame);
  --bs-danger:         var(--brand-coral);
  --bs-light:          var(--brand-sandstone);
  --bs-dark:           var(--brand-graphite);

  /* RGB versions – needed for rgba() / opacity utilities */
  --bs-primary-rgb:          76, 111, 255;
  --bs-secondary-rgb:        107, 114, 128;
  --bs-success-rgb:          22, 163, 74;
  --bs-info-rgb:             8, 145, 178;
  --bs-warning-rgb:          255, 119, 71;
  --bs-danger-rgb:           255, 92, 92;
  --bs-light-rgb:            248, 246, 244;
  --bs-dark-rgb:             30, 30, 36;

  /* Subtle background tints (used in alerts, badges, etc.) */
  --bs-primary-bg-subtle:    #eef2ff;
  --bs-primary-border-subtle:#c3d6ff;
  --bs-danger-bg-subtle:     #ffecec;
  --bs-danger-border-subtle: #ffcaca;
  --bs-warning-bg-subtle:    #fff3ed;
  --bs-warning-border-subtle:#ffe0d2;
  --bs-light-bg-subtle:      #f9f8f7;
  --bs-dark-bg-subtle:       #d1d1d6;

  /* Text emphasis variants */
  --bs-primary-text-emphasis: #2e44a8;
  --bs-danger-text-emphasis:  #c93c3c;
  --bs-warning-text-emphasis: #c95c2a;

  /* Body defaults – light warm background + dark text */
  --bs-body-bg:          var(--brand-sandstone);
  --bs-body-bg-rgb:      248, 246, 244;
  --bs-body-color:       var(--brand-graphite);
  --bs-body-color-rgb:   30, 30, 36;

  /* Links */
  --bs-link-color:       var(--brand-blue);
  --bs-link-hover-color: #3b55cc;        /* darkened ~20% for hover */

  /* Focus rings – using primary with lower opacity */
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), 0.25);

  /* Borders */
  --bs-border-color:     #d9d6d2;        /* warm gray */

  /* Typography */
  --bs-font-sans-serif:  'Inter', system-ui, sans-serif;

  /* Gradient (used in cards, headers, etc.) */
  --bs-gradient:         linear-gradient(180deg, rgba(255,255,255,0.15), rgba(255,255,255,0));
}
