/* Bootstrap 5 color tokens aligned to ADUST palette */

:root, [data-bs-theme="light"] {
  /* Body */
  --bs-body-color: var(--adust-gray-dark);
  --bs-body-color-rgb: 38, 38, 38;
  --bs-body-bg: var(--adust-white);
  --bs-body-bg-rgb: 255, 255, 255;

  /* Secondary/Tertiary (content-level tokens) */
  --bs-secondary-color: var(--adust-gray-medium);
  --bs-secondary-color-rgb: 127, 127, 127;
  --bs-secondary-bg: var(--adust-gray-light);
  --bs-secondary-bg-rgb: 242, 242, 242;

  --bs-tertiary-color: #bfbfbf;
  --bs-tertiary-color-rgb: 191, 191, 191;
  --bs-tertiary-bg: #fafafa;
  --bs-tertiary-bg-rgb: 250, 250, 250;

  /* Emphasis (high-contrast text) */
  --bs-emphasis-color: #000000;
  --bs-emphasis-color-rgb: 0, 0, 0;

  /* Borders */
  --bs-border-color: #dee2e6;
  --bs-border-color-rgb: 222, 226, 230;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);

  /* Brand primary */
  --bs-primary: var(--adust-blue-primary);
  --bs-primary-rgb: 0, 32, 96;
  --bs-primary-text-emphasis: #001845; /* darker than primary for readable text */
  --bs-primary-bg-subtle: #d6deef;     /* very light tint of primary */
  --bs-primary-border-subtle: #9fb3d3;  /* light border tint */

  /* Secondary (brand) */
  --bs-secondary: var(--adust-gray-medium);
  --bs-secondary-rgb: 127, 127, 127;
  --bs-secondary-text-emphasis: #333333;
  --bs-secondary-bg-subtle: #efefef;
  --bs-secondary-border-subtle: #d9d9d9;

  /* Success */
  --bs-success: #198754;
  --bs-success-rgb: 25, 135, 84;
  --bs-success-text-emphasis: #0a3622;
  --bs-success-bg-subtle: #d1e7dd;
  --bs-success-border-subtle: #a3cfbb;

  /* Danger */
  --bs-danger: var(--adust-red-accent);
  --bs-danger-rgb: 192, 0, 0;
  --bs-danger-text-emphasis: #4c0000;
  --bs-danger-bg-subtle: #f5c2c2;
  --bs-danger-border-subtle: #ee9a9a;

  /* Warning */
  --bs-warning: #ffc107;
  --bs-warning-rgb: 255, 193, 7;
  --bs-warning-text-emphasis: #664d03;
  --bs-warning-bg-subtle: #fff3cd;
  --bs-warning-border-subtle: #ffecb5;

  /* Info */
  --bs-info: #0dcaf0;
  --bs-info-rgb: 13, 202, 240;
  --bs-info-text-emphasis: #055160;
  --bs-info-bg-subtle: #cff4fc;
  --bs-info-border-subtle: #9eeaf9;

  /* Light/Dark */
  --bs-light: #f8f9fa;
  --bs-light-rgb: 248, 249, 250;
  --bs-light-text-emphasis: #495057;
  --bs-light-bg-subtle: #fcfcfd;
  --bs-light-border-subtle: #e9ecef;

  --bs-dark: var(--adust-gray-dark);
  --bs-dark-rgb: 38, 38, 38;
  --bs-dark-text-emphasis: #d3d3d4;
  --bs-dark-bg-subtle: #d3d3d4;
  --bs-dark-border-subtle: #bcbebf;

  /* Links */
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: var(--adust-red-accent);

  /* Focus ring base */
  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), .25);
}

/* Focus rings and controls aligned to ADUST */
.form-control:focus,
.form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .25);
}
.btn-primary:focus { box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .5); }
.btn-danger:focus { box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .5); }

/* Core element tweaks with theme variables */
hr { border-top-color: var(--bs-border-color) !important; }
blockquote { border-left: .25rem solid var(--bs-primary); padding-left: 1rem; color: var(--bs-secondary-color); }

/* Colored shadow helpers */
.shadow-primary { box-shadow: 0 .5rem 1rem rgba(var(--bs-primary-rgb), .15) !important; }
.shadow-danger { box-shadow: 0 .5rem 1rem rgba(var(--bs-danger-rgb), .15) !important; }
.shadow-adust-soft { box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .08) !important; }

/* Utility: gray backgrounds aligned to Bootstrap tokens */
.bg-gray { background-color: var(--bs-gray-500, #adb5bd) !important; }
.bg-gray-light { background-color: var(--bs-gray-100, #f8f9fa) !important; }

/* Extended utilities: text and borders mapped to tokens */
.text-gray { color: var(--bs-gray-600, #6c757d) !important; }
.text-gray-dark { color: var(--bs-gray-800, #343a40) !important; }
.text-secondary-color { color: var(--bs-secondary-color, #6c757d) !important; }
.text-tertiary-color { color: var(--bs-tertiary-color, #bfbfbf) !important; }
.border-gray { border-color: var(--bs-gray-400, #ced4da) !important; }
.border-gray-light { border-color: var(--bs-gray-300, #dee2e6) !important; }
.border-primary-subtle { border-color: var(--bs-primary-border-subtle, #9fb3d3) !important; }
.bg-primary-subtle { background-color: var(--bs-primary-bg-subtle, #d6deef) !important; }
.text-primary-emphasis { color: var(--bs-primary-text-emphasis, #001845) !important; }
.bg-success-subtle { background-color: var(--bs-success-bg-subtle, #d1e7dd) !important; }
.border-success-subtle { border-color: var(--bs-success-border-subtle, #a3cfbb) !important; }
.text-success-emphasis { color: var(--bs-success-text-emphasis, #0a3622) !important; }
.bg-danger-subtle { background-color: var(--bs-danger-bg-subtle, #f5c2c2) !important; }
.border-danger-subtle { border-color: var(--bs-danger-border-subtle, #ee9a9a) !important; }
.text-danger-emphasis { color: var(--bs-danger-text-emphasis, #4c0000) !important; }
.bg-warning-subtle { background-color: var(--bs-warning-bg-subtle, #fff3cd) !important; }
.border-warning-subtle { border-color: var(--bs-warning-border-subtle, #ffecb5) !important; }
.text-warning-emphasis { color: var(--bs-warning-text-emphasis, #664d03) !important; }
.bg-info-subtle { background-color: var(--bs-info-bg-subtle, #cff4fc) !important; }
.border-info-subtle { border-color: var(--bs-info-border-subtle, #9eeaf9) !important; }
.text-info-emphasis { color: var(--bs-info-text-emphasis, #055160) !important; }
