/* ====== LINKS (safe) ====== */
/* only text links; avoid buttons/menu/controls */
a:not(.btn):not([class*="btn-"]):not(.page-link):not(.list-group-item):not(.dropdown-item):not(.nav-link) {
  color: var(--bs-link-color);
  text-decoration-thickness: .06em;
}
a:not(.btn):not([class*="btn-"]):not(.page-link):not(.list-group-item):not(.dropdown-item):not(.nav-link):hover,
a:not(.btn):not([class*="btn-"]):not(.page-link):not(.list-group-item):not(.dropdown-item):not(.nav-link):focus {
  color: var(--bs-link-hover-color);
}

/* optional: standalone navs (not navbar themed) */
.nav:not(.navbar-nav) .nav-link {
  color: var(--bs-link-color);
}
.nav:not(.navbar-nav) .nav-link:hover,
.nav:not(.navbar-nav) .nav-link:focus {
  color: var(--bs-link-hover-color);
}

/* ====== BUTTONS — SOLID ====== */
.btn-primary{
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-primary), #000 12%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-primary), #000 12%);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-primary), #000 16%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-primary), #000 16%);
}
.btn-secondary{
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-secondary), #000 12%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-secondary), #000 12%);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-secondary), #000 16%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-secondary), #000 16%);
}
.btn-success{
  --bs-btn-bg: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-success), #000 12%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-success), #000 12%);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-success), #000 16%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-success), #000 16%);
}
.btn-warning{
  --bs-btn-bg: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-warning), #000 12%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-warning), #000 12%);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-warning), #000 16%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-warning), #000 16%);
  --bs-btn-color: #000;
}
.btn-danger{
  --bs-btn-bg: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-danger), #000 12%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-danger), #000 12%);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-danger), #000 16%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-danger), #000 16%);
}
.btn-info{
  --bs-btn-bg: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-info), #000 12%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-info), #000 12%);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-info), #000 16%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-info), #000 16%);
  --bs-btn-color: #000;
}
.btn-dark{
  --bs-btn-bg: var(--bs-dark);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-dark), #fff 12%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-dark), #fff 12%);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-dark), #fff 16%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-dark), #fff 16%);
}
.btn-light{
  --bs-btn-bg: var(--bs-light);
  --bs-btn-border-color: var(--bs-light);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-light), #000 8%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-light), #000 8%);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-light), #000 12%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-light), #000 12%);
  --bs-btn-color: #000;
}

/* ====== BUTTONS — OUTLINE ====== */
.btn-outline-primary{
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: var(--bs-primary);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-primary), #000 10%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-primary), #000 10%);
}
.btn-outline-secondary{
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-bg: var(--bs-secondary);
  --bs-btn-hover-border-color: var(--bs-secondary);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-secondary), #000 10%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-secondary), #000 10%);
}
.btn-outline-success{
  --bs-btn-color: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-bg: var(--bs-success);
  --bs-btn-hover-border-color: var(--bs-success);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-success), #000 10%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-success), #000 10%);
}
.btn-outline-warning{
  --bs-btn-color: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-bg: var(--bs-warning);
  --bs-btn-hover-border-color: var(--bs-warning);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-warning), #000 10%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-warning), #000 10%);
}
.btn-outline-danger{
  --bs-btn-color: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-bg: var(--bs-danger);
  --bs-btn-hover-border-color: var(--bs-danger);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-danger), #000 10%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-danger), #000 10%);
}
.btn-outline-info{
  --bs-btn-color: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-bg: var(--bs-info);
  --bs-btn-hover-border-color: var(--bs-info);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-info), #000 10%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-info), #000 10%);
}
.btn-outline-dark{
  --bs-btn-color: var(--bs-dark);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-dark);
  --bs-btn-hover-border-color: var(--bs-dark);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-dark), #fff 12%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-dark), #fff 12%);
}
.btn-outline-light{
  --bs-btn-color: var(--bs-dark);
  --bs-btn-border-color: var(--bs-light);
  --bs-btn-hover-bg: var(--bs-light);
  --bs-btn-hover-border-color: var(--bs-light);
  --bs-btn-active-bg: color-mix(in oklab, var(--bs-light), #000 8%);
  --bs-btn-active-border-color: color-mix(in oklab, var(--bs-light), #000 8%);
}
