/**
 * Bootstrap Color Overrides
 * Пользовательская цветовая схема (тепло-оливковая / песочная)
 *
 * Подключать ПОСЛЕ основного Bootstrap CSS:
 * <link rel="stylesheet" href="bootstrap.min.css">
 * <link rel="stylesheet" href="bootstrap-color-overrides.css">
 *
 * Палитра (база):
 * - primary:   #2f6b4e
 * - dark:      #131d16
 * - orange:    #b26925
 * - sand:      #f0d691
 * - amber:     #cb934e
 * - danger:    #b26723
 * - secondary: #82745f
 * - warning:   #d8ab3d
 * - muted:     #615d5c
 * - teal:      #a68244
 * - border:    #cecdcc
 * - purple:    #92794f
 */

:root {
  /* =========================================================
     1) DESIGN TOKENS (производные оттенки в той же гамме)
     ========================================================= */

  /* Primary (olive green) */
  --brand-primary: #2f6b4e;
  --brand-primary-700: #25543d;
  --brand-primary-800: #224f39;
  --brand-primary-soft: #d0dfd7;   /* мягкий фон */
  --brand-primary-border: #b0cfbf; /* мягкая граница */

  /* Dark (deep green-black) */
  --brand-dark: #131d16;
  --brand-dark-700: #0f1811;
  --brand-dark-soft: #c5c7c5;      /* мягкий фон */
  --brand-dark-border: #a3a6a4;    /* мягкая граница */

  /* Secondary (warm taupe) */
  --brand-secondary: #82745f;
  --brand-secondary-700: #6e6251;
  --brand-secondary-800: #625847;
  --brand-secondary-soft: #e3dfda;
  --brand-secondary-border: #cec8bf;

  /* Accent set (warm) */
  --brand-info: #cb934e;           /* amber */
  --brand-info-soft: #f3e6d7;
  --brand-info-border: #e6d0b1;

  --brand-warning: #d8ab3d;        /* golden */
  --brand-warning-soft: #f6ebcf;
  --brand-warning-border: #eddb9f;

  --brand-danger: #b26723;         /* brown orange */
  --brand-danger-soft: #eddccb;
  --brand-danger-border: #d5b597;

  --brand-orange: #b26925;         /* orange */
  --brand-teal: #a68244;           /* warm teal */
  --brand-purple: #92794f;         /* muted purple */

  /* Neutrals */
  --brand-muted: #615d5c;
  --brand-border: #cecdcc;
  --brand-bg: #ffffff;

  /* Light / sand */
  --brand-sand: #f0d691;
  --brand-sand-soft: #fbf5e4;
  --brand-sand-border: #f8edc9;

  /* =========================================================
     2) BOOTSTRAP CORE COLOR VARIABLES
     ========================================================= */

  /* Base palette mapping */
  --bs-blue: var(--brand-primary) !important;
  --bs-indigo: var(--brand-secondary) !important;
  --bs-purple: var(--brand-purple) !important;
  --bs-pink: var(--brand-info) !important;
  --bs-red: var(--brand-danger) !important;
  --bs-orange: var(--brand-orange) !important;
  --bs-yellow: var(--brand-warning) !important;
  --bs-green: var(--brand-primary) !important;
  --bs-teal: var(--brand-teal) !important;
  --bs-cyan: var(--brand-sand) !important;

  /* Grays (делаем “теплый” нейтральный ряд) */
  --bs-gray: var(--brand-muted) !important;
  --bs-gray-dark: var(--brand-dark) !important;
  --bs-gray-100: var(--brand-sand-soft) !important; /* теплый почти-белый */
  --bs-gray-200: var(--brand-border) !important;
  --bs-gray-300: #e3e2e1 !important; /* производный: чуть светлее border */
  --bs-gray-400: #b9b7b6 !important; /* производный */
  --bs-gray-500: #8d8988 !important; /* производный */
  --bs-gray-600: var(--brand-muted) !important;
  --bs-gray-700: #4f4b4a !important; /* производный */
  --bs-gray-800: #2a312c !important; /* производный */
  --bs-gray-900: var(--brand-dark) !important;

  /* Theme colors */
  --bs-primary: var(--brand-primary) !important;
  --bs-secondary: var(--brand-secondary) !important;
  --bs-success: var(--brand-primary) !important;
  --bs-info: var(--brand-info) !important;
  --bs-warning: var(--brand-warning) !important;
  --bs-danger: var(--brand-danger) !important;
  --bs-light: var(--brand-sand) !important;
  --bs-dark: var(--brand-dark) !important;

  /* RGB (для прозрачностей) */
  --bs-primary-rgb: 47, 107, 78 !important;
  --bs-secondary-rgb: 130, 116, 95 !important;
  --bs-success-rgb: 47, 107, 78 !important;
  --bs-info-rgb: 203, 147, 78 !important;
  --bs-warning-rgb: 216, 171, 61 !important;
  --bs-danger-rgb: 178, 103, 35 !important;
  --bs-light-rgb: 240, 214, 145 !important;
  --bs-dark-rgb: 19, 29, 22 !important;

  /* Body */
  --bs-body-color: var(--brand-dark) !important;
  --bs-body-color-rgb: 19, 29, 22 !important;
  --bs-body-bg: var(--brand-bg) !important;
  --bs-body-bg-rgb: 255, 255, 255 !important;

  /* Borders / focus */
  --bs-border-color: var(--brand-border) !important;
  --bs-border-color-translucent: rgba(206, 205, 204, 0.35) !important;
  --bs-focus-ring-color: rgba(47, 107, 78, 0.25) !important;

  /* Links / code / highlight */
  --bs-link-color: var(--brand-primary) !important;
  --bs-link-hover-color: var(--brand-teal) !important;
  --bs-code-color: var(--brand-danger) !important;
  --bs-highlight-bg: var(--brand-sand) !important;

  /* Bootstrap 5.3+ semantic emphasis (если версия поддерживает) */
  --bs-primary-text-emphasis: #1a3f2b !important;
  --bs-primary-bg-subtle: var(--brand-primary-soft) !important;
  --bs-primary-border-subtle: var(--brand-primary-border) !important;

  --bs-secondary-text-emphasis: #443c31 !important;
  --bs-secondary-bg-subtle: var(--brand-secondary-soft) !important;
  --bs-secondary-border-subtle: var(--brand-secondary-border) !important;

  --bs-success-text-emphasis: #1a3f2b !important;
  --bs-success-bg-subtle: var(--brand-primary-soft) !important;
  --bs-success-border-subtle: var(--brand-primary-border) !important;

  --bs-info-text-emphasis: #6b4e29 !important;
  --bs-info-bg-subtle: var(--brand-info-soft) !important;
  --bs-info-border-subtle: var(--brand-info-border) !important;

  --bs-warning-text-emphasis: #725a20 !important;
  --bs-warning-bg-subtle: var(--brand-warning-soft) !important;
  --bs-warning-border-subtle: var(--brand-warning-border) !important;

  --bs-danger-text-emphasis: #5e3612 !important;
  --bs-danger-bg-subtle: var(--brand-danger-soft) !important;
  --bs-danger-border-subtle: var(--brand-danger-border) !important;

  --bs-light-text-emphasis: #7f714c !important;
  --bs-light-bg-subtle: var(--brand-sand-soft) !important;
  --bs-light-border-subtle: var(--brand-sand-border) !important;

  --bs-dark-text-emphasis: #0a0f0b !important;
  --bs-dark-bg-subtle: var(--brand-dark-soft) !important;
  --bs-dark-border-subtle: var(--brand-dark-border) !important;
}

/* =========================================================
   3) BUTTONS (делаем консистентные hover/active)
   ========================================================= */

/* Primary */
.btn-primary {
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--brand-primary) !important;
  --bs-btn-border-color: var(--brand-primary) !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-hover-bg: var(--brand-primary-700) !important;
  --bs-btn-hover-border-color: var(--brand-primary-700) !important;
  --bs-btn-active-color: #fff !important;
  --bs-btn-active-bg: var(--brand-primary-800) !important;
  --bs-btn-active-border-color: var(--brand-primary-800) !important;
  --bs-btn-focus-shadow-rgb: 47, 107, 78 !important;
  --bs-btn-disabled-color: #fff !important;
  --bs-btn-disabled-bg: var(--brand-primary) !important;
  --bs-btn-disabled-border-color: var(--brand-primary) !important;
}

/* Secondary */
.btn-secondary {
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--brand-secondary) !important;
  --bs-btn-border-color: var(--brand-secondary) !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-hover-bg: var(--brand-secondary-700) !important;
  --bs-btn-hover-border-color: var(--brand-secondary-700) !important;
  --bs-btn-active-color: #fff !important;
  --bs-btn-active-bg: var(--brand-secondary-800) !important;
  --bs-btn-active-border-color: var(--brand-secondary-800) !important;
  --bs-btn-focus-shadow-rgb: 130, 116, 95 !important;
}

/* Success = primary */
.btn-success {
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--brand-primary) !important;
  --bs-btn-border-color: var(--brand-primary) !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-hover-bg: var(--brand-primary-700) !important;
  --bs-btn-hover-border-color: var(--brand-primary-700) !important;
  --bs-btn-active-color: #fff !important;
  --bs-btn-active-bg: var(--brand-primary-800) !important;
  --bs-btn-active-border-color: var(--brand-primary-800) !important;
  --bs-btn-focus-shadow-rgb: 47, 107, 78 !important;
}

/* Info (теплый янтарный, читаемость — черный текст) */
.btn-info {
  --bs-btn-color: #000 !important;
  --bs-btn-bg: var(--brand-info) !important;
  --bs-btn-border-color: var(--brand-info) !important;
  --bs-btn-hover-color: #000 !important;
  --bs-btn-hover-bg: #d3a466 !important;         /* производный */
  --bs-btn-hover-border-color: #cf9e5b !important;
  --bs-btn-active-color: #000 !important;
  --bs-btn-active-bg: #d6a971 !important;
  --bs-btn-active-border-color: #d1a063 !important;
  --bs-btn-focus-shadow-rgb: 203, 147, 78 !important;
}

/* Warning (читаемость — черный текст) */
.btn-warning {
  --bs-btn-color: #000 !important;
  --bs-btn-bg: var(--brand-warning) !important;
  --bs-btn-border-color: var(--brand-warning) !important;
  --bs-btn-hover-color: #000 !important;
  --bs-btn-hover-bg: #ddb657 !important;         /* производный */
  --bs-btn-hover-border-color: #dbb150 !important;
  --bs-btn-active-color: #000 !important;
  --bs-btn-active-bg: #dfbb5e !important;
  --bs-btn-active-border-color: #d9af4a !important;
  --bs-btn-focus-shadow-rgb: 216, 171, 61 !important;
}

/* Danger */
.btn-danger {
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--brand-danger) !important;
  --bs-btn-border-color: var(--brand-danger) !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-hover-bg: #97581e !important;         /* производный */
  --bs-btn-hover-border-color: #8e521c !important;
  --bs-btn-active-color: #fff !important;
  --bs-btn-active-bg: #8e521c !important;
  --bs-btn-active-border-color: #834c1a !important;
  --bs-btn-focus-shadow-rgb: 178, 103, 35 !important;
}

/* Light (песочный) */
.btn-light {
  --bs-btn-color: #000 !important;
  --bs-btn-bg: var(--brand-sand) !important;
  --bs-btn-border-color: var(--brand-sand) !important;
  --bs-btn-hover-color: #000 !important;
  --bs-btn-hover-bg: #f2dda3 !important;         /* производный */
  --bs-btn-hover-border-color: #f1da9b !important;
  --bs-btn-active-color: #000 !important;
  --bs-btn-active-bg: #f3dfaa !important;
  --bs-btn-active-border-color: #f0d58a !important;
  --bs-btn-focus-shadow-rgb: 240, 214, 145 !important;
}

/* Dark */
.btn-dark {
  --bs-btn-color: #fff !important;
  --bs-btn-bg: var(--brand-dark) !important;
  --bs-btn-border-color: var(--brand-dark) !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-hover-bg: #323b34 !important;         /* производный */
  --bs-btn-hover-border-color: #273127 !important;
  --bs-btn-active-color: #fff !important;
  --bs-btn-active-bg: #3d453e !important;
  --bs-btn-active-border-color: #2a312c !important;
  --bs-btn-focus-shadow-rgb: 19, 29, 22 !important;
}

/* Outline */
.btn-outline-primary {
  --bs-btn-color: var(--brand-primary) !important;
  --bs-btn-border-color: var(--brand-primary) !important;
  --bs-btn-hover-bg: var(--brand-primary) !important;
  --bs-btn-hover-border-color: var(--brand-primary) !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-active-bg: var(--brand-primary-700) !important;
  --bs-btn-active-border-color: var(--brand-primary-700) !important;
  --bs-btn-active-color: #fff !important;
}

.btn-outline-secondary {
  --bs-btn-color: var(--brand-secondary) !important;
  --bs-btn-border-color: var(--brand-secondary) !important;
  --bs-btn-hover-bg: var(--brand-secondary) !important;
  --bs-btn-hover-border-color: var(--brand-secondary) !important;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-active-bg: var(--brand-secondary-700) !important;
  --bs-btn-active-border-color: var(--brand-secondary-700) !important;
  --bs-btn-active-color: #fff !important;
}

/* Link */
.btn-link {
  --bs-btn-color: var(--brand-primary) !important;
  --bs-btn-hover-color: var(--brand-teal) !important;
  --bs-btn-active-color: var(--brand-teal) !important;
  --bs-btn-disabled-color: var(--brand-muted) !important;
  --bs-btn-focus-shadow-rgb: 47, 107, 78 !important;
}

/* =========================================================
   4) ALERTS (по “subtle” токенам)
   ========================================================= */

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis) !important;
  --bs-alert-bg: var(--bs-primary-bg-subtle) !important;
  --bs-alert-border-color: var(--bs-primary-border-subtle) !important;
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis) !important;
  --bs-alert-bg: var(--bs-secondary-bg-subtle) !important;
  --bs-alert-border-color: var(--bs-secondary-border-subtle) !important;
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis) !important;
  --bs-alert-bg: var(--bs-success-bg-subtle) !important;
  --bs-alert-border-color: var(--bs-success-border-subtle) !important;
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis) !important;
  --bs-alert-bg: var(--bs-info-bg-subtle) !important;
  --bs-alert-border-color: var(--bs-info-border-subtle) !important;
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis) !important;
  --bs-alert-bg: var(--bs-warning-bg-subtle) !important;
  --bs-alert-border-color: var(--bs-warning-border-subtle) !important;
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis) !important;
  --bs-alert-bg: var(--bs-danger-bg-subtle) !important;
  --bs-alert-border-color: var(--bs-danger-border-subtle) !important;
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis) !important;
  --bs-alert-bg: var(--bs-light-bg-subtle) !important;
  --bs-alert-border-color: var(--bs-light-border-subtle) !important;
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis) !important;
  --bs-alert-bg: var(--bs-dark-bg-subtle) !important;
  --bs-alert-border-color: var(--bs-dark-border-subtle) !important;
}

/* =========================================================
   5) BACKGROUNDS / TEXT HELPERS
   ========================================================= */

.bg-primary { background-color: var(--brand-primary) !important; }
.bg-secondary { background-color: var(--brand-secondary) !important; }
.bg-success { background-color: var(--brand-primary) !important; }
.bg-info { background-color: var(--brand-info) !important; }
.bg-warning { background-color: var(--brand-warning) !important; }
.bg-danger { background-color: var(--brand-danger) !important; }
.bg-light { background-color: var(--brand-sand) !important; }
.bg-dark { background-color: var(--brand-orange) !important; }

.text-primary { color: var(--brand-primary) !important; }
.text-secondary { color: var(--brand-secondary) !important; }
.text-success { color: var(--brand-primary) !important; }
.text-info { color: var(--brand-info) !important; }
.text-warning { color: var(--brand-warning) !important; }
.text-danger { color: var(--brand-danger) !important; }
.text-light { color: var(--brand-sand) !important; }
.text-dark { color: var(--brand-dark) !important; }
.text-muted { color: var(--brand-muted) !important; }

/* =========================================================
   6) FORMS / FOCUS
   ========================================================= */

.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: #7aa297 !important; /* мягкий зелёный (производный) */
  box-shadow: 0 0 0 0.25rem rgba(47, 107, 78, 0.25) !important;
}

.form-check-input:checked {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%237aa297'/%3e%3c/svg%3e") !important;
}

.form-range::-webkit-slider-thumb,
.form-range::-moz-range-thumb {
  background-color: var(--brand-primary) !important;
}

.form-range:focus::-webkit-slider-thumb,
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(47, 107, 78, 0.25) !important;
}

/* =========================================================
   7) VALIDATION
   ========================================================= */

.valid-feedback { color: var(--brand-primary) !important; }
.valid-tooltip { background-color: rgba(47, 107, 78, 0.9) !important; }
.is-valid,
.was-validated .form-control:valid {
  border-color: var(--brand-primary) !important;
}
.was-validated .form-control:valid:focus {
  border-color: var(--brand-primary) !important;
  box-shadow: 0 0 0 0.25rem rgba(47, 107, 78, 0.25) !important;
}

.invalid-feedback { color: var(--brand-danger) !important; }
.invalid-tooltip { background-color: rgba(178, 103, 35, 0.9) !important; }
.is-invalid,
.was-validated .form-control:invalid {
  border-color: var(--brand-danger) !important;
}
.was-validated .form-control:invalid:focus {
  border-color: var(--brand-danger) !important;
  box-shadow: 0 0 0 0.25rem rgba(178, 103, 35, 0.25) !important;
}

/* =========================================================
   8) NAVIGATION
   ========================================================= */

.nav-link {
  color: var(--brand-primary) !important;
}

.nav-link:hover,
.nav-link:focus {
  color: var(--brand-teal) !important;
}

.nav-link.disabled {
  color: var(--brand-muted) !important;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: var(--brand-primary) !important;
}

/* Tabs (оставляем нейтральными, но в теплой гамме) */
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--brand-dark) !important;
  background-color: var(--brand-bg) !important;
  border-color: var(--bs-gray-300) var(--bs-gray-300) var(--brand-bg) !important;
}

/* =========================================================
   9) DROPDOWN
   ========================================================= */

.dropdown-menu {
  --bs-dropdown-color: var(--brand-dark) !important;
  --bs-dropdown-link-color: var(--brand-dark) !important;
  --bs-dropdown-link-hover-color: var(--brand-dark-700) !important;
  --bs-dropdown-link-hover-bg: var(--bs-gray-100) !important;
  --bs-dropdown-link-active-color: #fff !important;
  --bs-dropdown-link-active-bg: var(--brand-primary) !important;
  --bs-dropdown-link-disabled-color: var(--bs-gray-500) !important;
  --bs-dropdown-header-color: var(--brand-muted) !important;
}

.dropdown-menu-dark {
  --bs-dropdown-link-active-bg: var(--brand-primary) !important;
}

/* =========================================================
   10) CARDS
   ========================================================= */

.card {
  --bs-card-border-color: var(--brand-border) !important;
}

.card-header,
.card-footer {
  background-color: rgba(206, 205, 204, 0.12) !important;
}

.card-header { border-bottom-color: var(--brand-border) !important; }
.card-footer { border-top-color: var(--brand-border) !important; }

/* =========================================================
   11) PROGRESS
   ========================================================= */

.progress-bar { background-color: var(--brand-primary) !important; }
.progress-bar.bg-success { background-color: var(--brand-primary) !important; }
.progress-bar.bg-info { background-color: var(--brand-info) !important; }
.progress-bar.bg-warning { background-color: var(--brand-warning) !important; }
.progress-bar.bg-danger { background-color: var(--brand-danger) !important; }

/* =========================================================
   12) LIST GROUP
   ========================================================= */

.list-group-item-action:hover,
.list-group-item-action:focus {
  background-color: var(--bs-gray-100) !important;
}

.list-group-item.active {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.list-group-item-primary {
  color: var(--bs-primary-text-emphasis) !important;
  background-color: var(--bs-primary-bg-subtle) !important;
}

.list-group-item-secondary {
  color: var(--bs-secondary-text-emphasis) !important;
  background-color: var(--bs-secondary-bg-subtle) !important;
}

.list-group-item-success {
  color: var(--bs-success-text-emphasis) !important;
  background-color: var(--bs-success-bg-subtle) !important;
}

.list-group-item-info {
  color: var(--bs-info-text-emphasis) !important;
  background-color: var(--bs-info-bg-subtle) !important;
}

.list-group-item-warning {
  color: var(--bs-warning-text-emphasis) !important;
  background-color: var(--bs-warning-bg-subtle) !important;
}

.list-group-item-danger {
  color: var(--bs-danger-text-emphasis) !important;
  background-color: var(--bs-danger-bg-subtle) !important;
}

.list-group-item-light {
  color: var(--bs-light-text-emphasis) !important;
  background-color: var(--bs-light-bg-subtle) !important;
}

.list-group-item-dark {
  color: var(--bs-dark-text-emphasis) !important;
  background-color: var(--bs-dark-bg-subtle) !important;
}

/* =========================================================
   13) PAGINATION
   ========================================================= */

.page-link { color: var(--brand-primary) !important; }
.page-link:hover {
  color: var(--brand-primary-700) !important;
  background-color: var(--bs-gray-100) !important;
}

.page-item.active .page-link {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
}

.page-item.disabled .page-link {
  color: var(--brand-muted) !important;
}

/* =========================================================
   14) MODALS
   ========================================================= */

.modal-header { border-bottom-color: var(--brand-border) !important; }
.modal-footer { border-top-color: var(--brand-border) !important; }

/* =========================================================
   15) CLOSE BUTTON
   ========================================================= */

.btn-close:focus {
  box-shadow: 0 0 0 0.25rem rgba(47, 107, 78, 0.25) !important;
}

/* =========================================================
   16) TOOLTIPS
   ========================================================= */

.tooltip-inner { background-color: var(--brand-dark) !important; }

.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before { border-top-color: var(--brand-dark) !important; }

.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before,
.bs-tooltip-end .tooltip-arrow::before { border-right-color: var(--brand-dark) !important; }

.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before,
.bs-tooltip-bottom .tooltip-arrow::before { border-bottom-color: var(--brand-dark) !important; }

.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before,
.bs-tooltip-start .tooltip-arrow::before { border-left-color: var(--brand-dark) !important; }

/* =========================================================
   17) TABLES
   ========================================================= */

.table-primary {
  --bs-table-bg: var(--bs-primary-bg-subtle) !important;
  --bs-table-border-color: var(--bs-primary-border-subtle) !important;
}

.table-secondary {
  --bs-table-bg: var(--bs-secondary-bg-subtle) !important;
  --bs-table-border-color: var(--bs-secondary-border-subtle) !important;
}

.table-success {
  --bs-table-bg: var(--bs-success-bg-subtle) !important;
  --bs-table-border-color: var(--bs-success-border-subtle) !important;
}

.table-info {
  --bs-table-bg: var(--bs-info-bg-subtle) !important;
  --bs-table-border-color: var(--bs-info-border-subtle) !important;
}

.table-warning {
  --bs-table-bg: var(--bs-warning-bg-subtle) !important;
  --bs-table-border-color: var(--bs-warning-border-subtle) !important;
}

.table-danger {
  --bs-table-bg: var(--bs-danger-bg-subtle) !important;
  --bs-table-border-color: var(--bs-danger-border-subtle) !important;
}

.table-light {
  --bs-table-bg: var(--bs-light-bg-subtle) !important;
  --bs-table-border-color: var(--bs-light-border-subtle) !important;
}

.table-dark {
  --bs-table-bg: var(--brand-dark) !important;
  --bs-table-border-color: #273127 !important; /* производный */
  --bs-table-color: #fff !important;
}

/* =========================================================
   18) BREADCRUMBS
   ========================================================= */

.breadcrumb-item.active { color: var(--brand-muted) !important; }
.breadcrumb-item + .breadcrumb-item::before { color: var(--brand-muted) !important; }

/* =========================================================
   19) ACCORDION
   ========================================================= */

.accordion-button:not(.collapsed) {
  color: #0f2f1f !important;        /* производный (темнее primary) */
  background-color: #e7f1ec !important; /* производный (мягкий зелёный фон) */
}

.accordion-button:focus {
  border-color: #7aa297 !important;
  box-shadow: 0 0 0 0.25rem rgba(47, 107, 78, 0.25) !important;
}

/* =========================================================
   20) SPINNERS
   ========================================================= */

.spinner-border {
  border-color: currentColor !important;
  border-right-color: transparent !important;
}

.spinner-grow { background-color: currentColor !important; }

.text-primary .spinner-border,
.text-primary .spinner-grow { color: var(--brand-primary) !important; }

/* =========================================================
   21) OFFCANVAS
   ========================================================= */

.offcanvas {
  --bs-offcanvas-border-color: var(--brand-border) !important;
}
