/*
 * Color palettes stacked on top of Bootstrap light/dark.
 * Default = current Cerulean brand colors (no extra overrides).
 * Dollar  = US-note greens, still using data-bs-theme for light/dark.
 */

[data-color-theme="dollar"] {
  --bs-cyan: #3d9b63;
  --bs-primary: #2d6a4f;
  --bs-primary-rgb: 45, 106, 79;
  --bs-info: #1a4731;
  --bs-info-rgb: 26, 71, 49;
  --bs-primary-text-emphasis: #1a4731;
  --bs-info-text-emphasis: #0a2418;
  --bs-primary-bg-subtle: #dcefe4;
  --bs-info-bg-subtle: #d3e4da;
  --bs-primary-border-subtle: #b4dcc6;
  --bs-info-border-subtle: #9fc3ae;
  --bs-heading-color: #3d9b63;
  --bs-link-color: #3d9b63;
  --bs-link-color-rgb: 61, 155, 99;
  --bs-link-hover-color: #338154;
  --bs-link-hover-color-rgb: 51, 129, 84;
  --bs-focus-ring-color: rgba(61, 155, 99, 0.25);
  --app-accent: #3d9b63;
  --app-accent-hover: #338154;
  --app-accent-active: #2c6f48;
  --app-navbar-grad-top: #5cb87e;
  --app-navbar-grad-mid: #3d9b63;
  --app-navbar-grad-bot: #368c59;
  --app-btn-hover-top: #3d9b63;
  --app-btn-hover-mid: #3a945e;
  --app-btn-hover-bot: #338154;
  --app-btn-active-bot: #2c6f48;
  --app-focus-border: #8fd4a8;
}

[data-color-theme="dollar"][data-bs-theme="dark"] {
  --bs-primary-text-emphasis: #8fd4a8;
  --bs-info-text-emphasis: #7aab90;
  --bs-primary-bg-subtle: #0c2418;
  --bs-info-bg-subtle: #07140d;
  --bs-primary-border-subtle: #245c3a;
  --bs-info-border-subtle: #143d28;
  --bs-heading-color: inherit;
  --bs-link-color: #8fd4a8;
  --bs-link-hover-color: #a8e0bb;
  --bs-link-color-rgb: 143, 212, 168;
  --bs-link-hover-color-rgb: 168, 224, 187;
}

[data-color-theme="dollar"] .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #3d9b63;
  --bs-btn-border-color: #3d9b63;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #348556;
  --bs-btn-hover-border-color: #338154;
  --bs-btn-focus-shadow-rgb: 61, 155, 99;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #338154;
  --bs-btn-active-border-color: #2f784d;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #3d9b63;
  --bs-btn-disabled-border-color: #3d9b63;
  background-image: linear-gradient(
    var(--app-navbar-grad-top),
    var(--app-navbar-grad-mid) 60%,
    var(--app-navbar-grad-bot)
  );
}

[data-color-theme="dollar"] .btn-primary:hover {
  background-image: linear-gradient(
    var(--app-btn-hover-top),
    var(--app-btn-hover-mid) 60%,
    var(--app-btn-hover-bot)
  );
}

[data-color-theme="dollar"] .btn-primary:active,
[data-color-theme="dollar"] .btn-check:checked + .btn-primary {
  background-image: linear-gradient(
    var(--app-accent-hover),
    var(--app-accent-hover) 60%,
    var(--app-btn-active-bot)
  );
}

[data-color-theme="dollar"] .btn-outline-primary {
  --bs-btn-color: #3d9b63;
  --bs-btn-border-color: #3d9b63;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #3d9b63;
  --bs-btn-hover-border-color: #3d9b63;
  --bs-btn-focus-shadow-rgb: 61, 155, 99;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #3d9b63;
  --bs-btn-active-border-color: #3d9b63;
  --bs-btn-disabled-color: #3d9b63;
  --bs-btn-disabled-border-color: #3d9b63;
}

[data-color-theme="dollar"][data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: #8fd4a8;
  --bs-btn-border-color: #8fd4a8;
  --bs-btn-hover-bg: #3d9b63;
  --bs-btn-hover-border-color: #3d9b63;
  --bs-btn-active-bg: #3d9b63;
  --bs-btn-active-border-color: #3d9b63;
  --bs-btn-disabled-color: #8fd4a8;
  --bs-btn-disabled-border-color: #8fd4a8;
}

[data-color-theme="dollar"] .btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: #1a4731;
  --bs-btn-border-color: #1a4731;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #163d2a;
  --bs-btn-hover-border-color: #143826;
  --bs-btn-focus-shadow-rgb: 61, 97, 80;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #143826;
  --bs-btn-active-border-color: #123423;
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #1a4731;
  --bs-btn-disabled-border-color: #1a4731;
  background-image: linear-gradient(#2d6a4f, #1a4731 60%, #163d2a);
}

[data-color-theme="dollar"] .btn-info:hover {
  background-image: linear-gradient(#1a4731, #18422d 60%, #163d2a);
}

[data-color-theme="dollar"] .btn-info:active,
[data-color-theme="dollar"] .btn-check:checked + .btn-info {
  background-image: linear-gradient(#143826, #143826 60%, #102e1f);
}

[data-color-theme="dollar"] .btn-outline-info {
  --bs-btn-color: #1a4731;
  --bs-btn-border-color: #1a4731;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1a4731;
  --bs-btn-hover-border-color: #1a4731;
  --bs-btn-focus-shadow-rgb: 26, 71, 49;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1a4731;
  --bs-btn-active-border-color: #1a4731;
  --bs-btn-disabled-color: #1a4731;
  --bs-btn-disabled-border-color: #1a4731;
}

[data-color-theme="dollar"] .btn-link {
  --bs-btn-focus-shadow-rgb: 61, 155, 99;
}

[data-color-theme="dollar"] .navbar.bg-primary {
  background-image: linear-gradient(
    var(--app-navbar-grad-top),
    var(--app-navbar-grad-mid) 60%,
    var(--app-navbar-grad-bot)
  );
}

[data-color-theme="dollar"] .dropdown-menu {
  --bs-dropdown-link-hover-bg: #3d9b63;
  --bs-dropdown-link-active-bg: #3d9b63;
}

[data-color-theme="dollar"] .nav-pills {
  --bs-nav-pills-link-active-bg: #3d9b63;
}

[data-color-theme="dollar"] .pagination {
  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
  --bs-pagination-active-bg: #3d9b63;
  --bs-pagination-active-border-color: #3d9b63;
}

[data-color-theme="dollar"] .progress,
[data-color-theme="dollar"] .progress-stacked {
  --bs-progress-bar-bg: #3d9b63;
}

[data-color-theme="dollar"] .list-group {
  --bs-list-group-active-bg: #3d9b63;
  --bs-list-group-active-border-color: #3d9b63;
}

[data-color-theme="dollar"] .accordion {
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
}

[data-color-theme="dollar"] .btn-close {
  --bs-btn-close-focus-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
}

[data-color-theme="dollar"] .popover {
  --bs-popover-header-color: var(--bs-heading-color);
}

[data-color-theme="dollar"] .nav-link:focus-visible {
  box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
}

[data-color-theme="dollar"] .form-range:focus::-webkit-slider-thumb,
[data-color-theme="dollar"] .form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem var(--bs-focus-ring-color);
}

[data-color-theme="dollar"] .form-control:focus,
[data-color-theme="dollar"] .form-select:focus,
[data-color-theme="dollar"] .form-check-input:focus {
  border-color: var(--app-focus-border);
  box-shadow: 0 0 0 0.25rem var(--bs-focus-ring-color);
}

[data-color-theme="dollar"] .form-check-input:checked,
[data-color-theme="dollar"] .form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--app-accent);
  border-color: var(--app-accent);
}

[data-color-theme="dollar"] .link-primary:hover,
[data-color-theme="dollar"] .link-primary:focus {
  color: RGBA(var(--bs-link-hover-color-rgb), var(--bs-link-opacity, 1)) !important;
  -webkit-text-decoration-color: RGBA(var(--bs-link-hover-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-link-hover-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

[data-color-theme="dollar"] .table-primary {
  --bs-table-bg: #dcefe4;
  --bs-table-border-color: #b4c8bc;
  --bs-table-striped-bg: #d1e4d9;
  --bs-table-active-bg: #c6d9ce;
  --bs-table-hover-bg: #cbdecf;
}

[data-color-theme="dollar"] .table-info {
  --bs-table-bg: #d3e4da;
  --bs-table-border-color: #a8b6ae;
  --bs-table-striped-bg: #c8d9cf;
  --bs-table-active-bg: #becdc4;
  --bs-table-hover-bg: #c3d3c9;
}
