:root {
  /* Core color */
  --bs-primary: #f26530;
  --bs-primary-rgb: 242, 101, 48;

  /* Tints & shades (used by utilities and components) */
  --bs-primary-text-emphasis: #61290d;       /* text-primary-emphasis */
  --bs-primary-bg-subtle: #fde0d4;           /* bg-primary-subtle */
  --bs-primary-border-subtle: #fac1a9;       /* border-primary-subtle */

  /* Links */
  --bs-link-color: #f26530;
  --bs-link-color-rgb: 242, 101, 48;
  --bs-link-hover-color: #c2512600;
  --bs-link-hover-color-rgb: 194, 81, 38;

  /* Focus ring */
  --bs-focus-ring-color: rgba(242, 101, 48, 0.25);
}

/* ── Buttons ── */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #f26530;
  --bs-btn-border-color: #f26530;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #d4541f;
  --bs-btn-hover-border-color: #c94f1d;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #c94f1d;
  --bs-btn-active-border-color: #be4a1b;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #f26530;
  --bs-btn-disabled-border-color: #f26530;
  --bs-btn-focus-shadow-rgb: 242, 101, 48;  /* focus ring on button */
}

.btn-outline-primary {
  --bs-btn-color: #f26530;
  --bs-btn-border-color: #f26530;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #f26530;
  --bs-btn-hover-border-color: #f26530;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #f26530;
  --bs-btn-active-border-color: #f26530;
  --bs-btn-focus-shadow-rgb: 242, 101, 48;
}

/* ── Utilities ── */
.text-primary         { color: #f26530 !important; }
.text-primary-emphasis { color: #61290d !important; }
.bg-primary           { background-color: #f26530 !important; }
.bg-primary-subtle    { background-color: #fde0d4 !important; }
.border-primary       { border-color: #f26530 !important; }
.border-primary-subtle { border-color: #fac1a9 !important; }
.link-primary         { color: #f26530 !important; }
.link-primary:hover   { color: #c25126 !important; }

/* ── Focus ring utility ── */
.focus-ring-primary {
  --bs-focus-ring-color: rgba(242, 101, 48, 0.25);
}

/* ── Form controls ── */
.form-control:focus,
.form-select:focus {
  border-color: #f9b297;  /* ~50% tint of primary */
  box-shadow: 0 0 0 0.25rem rgba(242, 101, 48, 0.25);
}

.form-check-input:checked {
  background-color: #f26530;
  border-color: #f26530;
}

.form-check-input:focus {
  box-shadow: 0 0 0 0.25rem rgba(242, 101, 48, 0.25);
}

/* ── Nav & tabs ── */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: #f26530;
}

.nav-tabs .nav-link.active {
  color: #f26530;
  border-bottom-color: #f26530;
}

/* ── Pagination ── */
.page-link {
  color: #f26530;
}
.page-link:hover {
  color: #c25126;
}
.page-item.active .page-link {
  background-color: #f26530;
  border-color: #f26530;
}

/* ── Progress bar ── */
.progress-bar { background-color: #f26530; }

/* ── List group ── */
.list-group-item.active {
  background-color: #f26530;
  border-color: #f26530;
}
.list-group-item-primary {
  color: #61290d;
  background-color: #fde0d4;
}

/* ── Badge ── */
.badge.text-bg-primary { background-color: #f26530 !important; }

/* ── Alerts ── */
.alert-primary {
  --bs-alert-color: #61290d;
  --bs-alert-bg: #fde0d4;
  --bs-alert-border-color: #fac1a9;
  --bs-alert-link-color: #61290d;
}

/* ── Dropdown ── */
.dropdown-item.active,
.dropdown-item:active {
  background-color: #f26530;
}

.nav-link:focus, .nav-link:hover {
  color: #f26530;
}
