/* === PRIMARY (blue) === */
.btn.custom-btn-primary {
  font-weight:      600;
  color:            #fff;
  background-color: #0d6efd;
  border:           1px solid #0d6efd;
}
.btn.custom-btn-primary:hover {
  background-color: #0b5ed7;
  border-color:     #0a58ca;
}
.btn.custom-btn-primary:focus {
  outline:          none;
  box-shadow:       0 0 0 0.25rem rgba(13,110,253,.5);
}
.btn.custom-btn-primary:active {
  background-color: #0a58ca;
  border-color:     #084298;
}

/* === SECONDARY (gray) === */
.btn.custom-btn-secondary {
  font-weight:      600;
  color:            #fff;
  background-color: #6c757d;
  border:           1px solid #6c757d;
}
.btn.custom-btn-secondary:hover {
  background-color: #5c636a;
  border-color:     #565e64;
}
.btn.custom-btn-secondary:focus {
  outline:          none;
  box-shadow:       0 0 0 0.25rem rgba(108,117,125,.5);
}
.btn.custom-btn-secondary:active {
  background-color: #565e64;
  border-color:     #51585e;
}

/* === SUCCESS (green) === */
.btn.custom-btn-success {
  font-weight:      600;
  color:            #fff;
  background-color: #198754;
  border:           1px solid #198754;
}
.btn.custom-btn-success:hover {
  background-color: #157347;
  border-color:     #146c43;
}
.btn.custom-btn-success:focus {
  outline:          none;
  box-shadow:       0 0 0 0.25rem rgba(25,135,84,.5);
}
.btn.custom-btn-success:active {
  background-color: #146c43;
  border-color:     #0f5132;
}

/* === DANGER (red) === */
.btn.custom-btn-danger {
  font-weight:      600;
  color:            #fff;
  background-color: #dc3545;
  border:           1px solid #dc3545;
}
.btn.custom-btn-danger:hover {
  background-color: #c82333;
  border-color:     #bd2130;
}
.btn.custom-btn-danger:focus {
  outline:          none;
  box-shadow:       0 0 0 0.25rem rgba(220,53,69,.5);
}
.btn.custom-btn-danger:active {
  background-color: #bd2130;
  border-color:     #b02a37;
}

/* === WARNING (yellow) === */
.btn.custom-btn-warning {
  font-weight:      600;
  color:            #000;
  background-color: #ffc107;
  border:           1px solid #ffc107;
}
.btn.custom-btn-warning:hover {
  background-color: #e0a800;
  border-color:     #d39e00;
}
.btn.custom-btn-warning:focus {
  outline:          none;
  box-shadow:       0 0 0 0.25rem rgba(255,193,7,.5);
}
.btn.custom-btn-warning:active {
  background-color: #d39e00;
  border-color:     #c69500;
}

/* === INFO (cyan) === */
.btn.custom-btn-info {
  font-weight:      600;
  color:            #000;
  background-color: #0dcaf0;
  border:           1px solid #0dcaf0;
}
.btn.custom-btn-info:hover {
  background-color: #31d2f2;
  border-color:     #25cff2;
}
.btn.custom-btn-info:focus {
  outline:          none;
  box-shadow:       0 0 0 0.25rem rgba(13,202,240,.5);
}
.btn.custom-btn-info:active {
  background-color: #3dd5f3;
  border-color:     #20c997;
}

/* === LIGHT (white‑gray) === */
.btn.custom-btn-light {
  font-weight:      600;
  color:            #000;
  background-color: #f8f9fa;
  border:           1px solid #f8f9fa;
}
.btn.custom-btn-light:hover {
  background-color: #e2e6ea;
  border-color:     #dae0e5;
}
.btn.custom-btn-light:focus {
  outline:          none;
  box-shadow:       0 0 0 0.25rem rgba(248,249,250,.5);
}
.btn.custom-btn-light:active {
  background-color: #d3d9df;
  border-color:     #cbd3da;
}

/* === DARK (near‑black) === */
.btn.custom-btn-dark {
  font-weight:      600;
  color:            #fff;
  background-color: #212529;
  border:           1px solid #212529;
}
.btn.custom-btn-dark:hover {
  background-color: #1c1f23;
  border-color:     #1c1f23;
}
.btn.custom-btn-dark:focus {
  outline:          none;
  box-shadow:       0 0 0 0.25rem rgba(33,37,41,.5);
}
.btn.custom-btn-dark:active {
  background-color: #202326;
  border-color:     #191c1f;
}
