/*
 * theme-colors.css
 * Professional color overrides for Sneat's neon defaults.
 * Loaded after core.css so these rules win.
 *
 * Palette: Tailwind 500–600 level — readable, semantic, not neon.
 *   Success  #16a34a  green-600
 *   Warning  #d97706  amber-600
 *   Danger   #dc2626  red-600
 *   Info     #0ea5e9  sky-500
 ******************************************************************************/


/* ── 1. Root CSS custom properties ──────────────────────────────────────────
   Cascades to Bootstrap utilities: .bg-success, .badge.bg-success,
   .alert-success, .list-group-item-success, form validation states, etc.
   ────────────────────────────────────────────────────────────────────────── */

:root {
  /* Success */
  --bs-success:                 #16a34a;
  --bs-success-rgb:             22, 163, 74;
  --bs-success-text-emphasis:   #15803d;
  --bs-success-bg-subtle:       #dcfce7;
  --bs-success-border-subtle:   #bbf7d0;
  --bs-form-valid-color:        #16a34a;
  --bs-form-valid-border-color: #16a34a;

  /* Warning */
  --bs-warning:                 #d97706;
  --bs-warning-rgb:             217, 119, 6;
  --bs-warning-text-emphasis:   #b45309;
  --bs-warning-bg-subtle:       #fef3c7;
  --bs-warning-border-subtle:   #fde68a;

  /* Danger */
  --bs-danger:                  #dc2626;
  --bs-danger-rgb:              220, 38, 38;
  --bs-danger-text-emphasis:    #b91c1c;
  --bs-danger-bg-subtle:        #fee2e2;
  --bs-danger-border-subtle:    #fecaca;
  --bs-form-invalid-color:      #dc2626;
  --bs-form-invalid-border-color: #dc2626;

  /* Info */
  --bs-info:                    #0ea5e9;
  --bs-info-rgb:                14, 165, 233;
  --bs-info-text-emphasis:      #0284c7;
  --bs-info-bg-subtle:          #e0f2fe;
  --bs-info-border-subtle:      #bae6fd;
}


/* ── 2. Solid buttons ────────────────────────────────────────────────────────
   core.css hardcodes hex values for .btn-success etc., so :root overrides
   alone aren't enough — we need explicit selectors here.
   ────────────────────────────────────────────────────────────────────────── */

/* Success */
.btn-success {
  background-color: #16a34a;
  border-color:     #16a34a;
  color:            #fff;
}
.btn-success:hover,
.btn-success:active,
.btn-success.active,
.btn-check:checked + .btn-success,
.show > .btn-success.dropdown-toggle {
  background-color: #15803d;
  border-color:     #15803d;
  color:            #fff;
}
.btn-success:focus,
.btn-success.focus {
  background-color: #15803d;
  border-color:     #15803d;
  box-shadow:       0 0 0 0.2rem rgba(22, 163, 74, 0.35);
}

/* Warning */
.btn-warning {
  background-color: #d97706;
  border-color:     #d97706;
  color:            #fff;
}
.btn-warning:hover,
.btn-warning:active,
.btn-warning.active,
.btn-check:checked + .btn-warning,
.show > .btn-warning.dropdown-toggle {
  background-color: #b45309;
  border-color:     #b45309;
  color:            #fff;
}
.btn-warning:focus,
.btn-warning.focus {
  background-color: #b45309;
  border-color:     #b45309;
  box-shadow:       0 0 0 0.2rem rgba(217, 119, 6, 0.35);
}

/* Danger */
.btn-danger {
  background-color: #dc2626;
  border-color:     #dc2626;
  color:            #fff;
}
.btn-danger:hover,
.btn-danger:active,
.btn-danger.active,
.btn-check:checked + .btn-danger,
.show > .btn-danger.dropdown-toggle {
  background-color: #b91c1c;
  border-color:     #b91c1c;
  color:            #fff;
}
.btn-danger:focus,
.btn-danger.focus {
  background-color: #b91c1c;
  border-color:     #b91c1c;
  box-shadow:       0 0 0 0.2rem rgba(220, 38, 38, 0.35);
}

/* Info */
.btn-info {
  background-color: #0ea5e9;
  border-color:     #0ea5e9;
  color:            #fff;
}
.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-check:checked + .btn-info,
.show > .btn-info.dropdown-toggle {
  background-color: #0284c7;
  border-color:     #0284c7;
  color:            #fff;
}
.btn-info:focus,
.btn-info.focus {
  background-color: #0284c7;
  border-color:     #0284c7;
  box-shadow:       0 0 0 0.2rem rgba(14, 165, 233, 0.35);
}


/* ── 3. Outline buttons ──────────────────────────────────────────────────── */

.btn-outline-success {
  border-color: #16a34a;
  color:        #16a34a;
}
.btn-outline-success:hover,
.btn-outline-success:active,
.btn-outline-success.active,
.btn-check:checked + .btn-outline-success {
  background-color: #16a34a;
  border-color:     #16a34a;
  color:            #fff;
}
.btn-outline-success:focus {
  box-shadow: 0 0 0 0.2rem rgba(22, 163, 74, 0.35);
}

.btn-outline-warning {
  border-color: #d97706;
  color:        #d97706;
}
.btn-outline-warning:hover,
.btn-outline-warning:active,
.btn-outline-warning.active,
.btn-check:checked + .btn-outline-warning {
  background-color: #d97706;
  border-color:     #d97706;
  color:            #fff;
}
.btn-outline-warning:focus {
  box-shadow: 0 0 0 0.2rem rgba(217, 119, 6, 0.35);
}

.btn-outline-danger {
  border-color: #dc2626;
  color:        #dc2626;
}
.btn-outline-danger:hover,
.btn-outline-danger:active,
.btn-outline-danger.active,
.btn-check:checked + .btn-outline-danger {
  background-color: #dc2626;
  border-color:     #dc2626;
  color:            #fff;
}
.btn-outline-danger:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 38, 38, 0.35);
}

.btn-outline-info {
  border-color: #0ea5e9;
  color:        #0ea5e9;
}
.btn-outline-info:hover,
.btn-outline-info:active,
.btn-outline-info.active,
.btn-check:checked + .btn-outline-info {
  background-color: #0ea5e9;
  border-color:     #0ea5e9;
  color:            #fff;
}
.btn-outline-info:focus {
  box-shadow: 0 0 0 0.2rem rgba(14, 165, 233, 0.35);
}


/* ── 4. bg-label-* (Sneat badge/label utilities — hardcoded in core.css) ─── */

.bg-label-success {
  background-color: rgba(22, 163, 74, 0.15)  !important;
  color:            #16a34a                   !important;
}
.bg-label-warning {
  background-color: rgba(217, 119, 6, 0.15)  !important;
  color:            #d97706                   !important;
}
.bg-label-danger {
  background-color: rgba(220, 38, 38, 0.15)  !important;
  color:            #dc2626                   !important;
}
.bg-label-info {
  background-color: rgba(14, 165, 233, 0.15) !important;
  color:            #0ea5e9                   !important;
}
