/*
 * ttt-buttons.css — Standalone button classes.
 * Provides .btn, .btn-primary, .btn-success, .btn-outline-* etc. without Bootstrap.
 * sweetalert2-overrides.css injects these class strings and reads --bs-btn-* vars from them.
 * These classes are also used directly in PHP templates during the Bootstrap migration.
 */

/* ─── Base ────────────────────────────────────────────────────────────────── */
.btn {
  display: inline-block;
  padding: var(--ttt-btn-padding-y) var(--ttt-btn-padding-x);
  font-size: var(--ttt-btn-font-size);
  font-weight: var(--ttt-btn-font-weight);
  line-height: var(--ttt-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: var(--bs-btn-bg, transparent);
  border: var(--ttt-btn-border-width) solid var(--bs-btn-border-color, transparent);
  border-radius: var(--ttt-btn-border-radius);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
              border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  filter: saturate(0.9) brightness(0.9);
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg, transparent);
  border-color: var(--bs-btn-hover-border-color, transparent);
  filter: none;
}
.btn:active,
.btn.active {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg, transparent);
  border-color: var(--bs-btn-active-border-color, transparent);
  filter: none;
}
.btn:disabled,
.btn.disabled {
  opacity: 0.65;
  pointer-events: none;
}
.btn-sm {
  --ttt-btn-padding-y:    0.25rem;
  --ttt-btn-padding-x:    0.5rem;
  --ttt-btn-font-size:    0.875rem;
  --ttt-btn-border-radius: 0.25rem;
}

/* ─── .btn-primary ───────────────────────────────────────────────────────── */
.btn-primary {
  --bs-btn-color:              #fff;
  --bs-btn-bg:                 #1b4a8f;
  --bs-btn-border-color:       #1b4a8f;
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           #164075;
  --bs-btn-hover-border-color: #13366a;
  --bs-btn-active-color:       #fff;
  --bs-btn-active-bg:          #13366a;
  --bs-btn-active-border-color: #112f5c;
  --bs-btn-box-shadow:         inset 0 1px 0 rgba(255,255,255,0.15), 0 1px 1px rgba(0,0,0,0.075);
}

/* ─── .btn-success ───────────────────────────────────────────────────────── */
.btn-success {
  --bs-btn-color:              #fff;
  --bs-btn-bg:                 #095c36;
  --bs-btn-border-color:       #095c36;
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           #074228;
  --bs-btn-hover-border-color: #074228;
  --bs-btn-active-color:       #fff;
  --bs-btn-active-bg:          #02140c;
  --bs-btn-active-border-color: #02140c;
}

/* ─── .btn-outline-primary ───────────────────────────────────────────────── */
.btn-outline-primary {
  --bs-btn-color:              var(--ttt-primary);
  --bs-btn-bg:                 transparent;
  --bs-btn-border-color:       var(--ttt-primary);
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           var(--ttt-primary);
  --bs-btn-hover-border-color: #13366a;
  --bs-btn-active-color:       #fff;
  --bs-btn-active-bg:          #13366a;
  --bs-btn-active-border-color: #112f5c;
}
[data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color:              var(--ttt-primary-text-emphasis);
  --bs-btn-border-color:       var(--ttt-primary-text-emphasis);
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           var(--ttt-primary);
  --bs-btn-hover-border-color: var(--ttt-primary);
  --bs-btn-active-bg:          #13366a;
  --bs-btn-active-border-color: #112f5c;
}

/* ─── .btn-outline-success ───────────────────────────────────────────────── */
.btn-outline-success {
  --bs-btn-color:              var(--ttt-success);
  --bs-btn-bg:                 transparent;
  --bs-btn-border-color:       var(--ttt-success);
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           var(--ttt-success);
  --bs-btn-hover-border-color: #074228;
  --bs-btn-active-color:       #fff;
  --bs-btn-active-bg:          #02140c;
  --bs-btn-active-border-color: #02140c;
}
[data-bs-theme="dark"] .btn-outline-success {
  --bs-btn-color:              var(--ttt-success-text-emphasis);
  --bs-btn-border-color:       var(--ttt-success-text-emphasis);
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           var(--ttt-success);
  --bs-btn-hover-border-color: var(--ttt-success);
}

/* ─── .btn-outline-secondary ─────────────────────────────────────────────── */
.btn-outline-secondary {
  --bs-btn-color:              #6c757d;
  --bs-btn-bg:                 transparent;
  --bs-btn-border-color:       #6c757d;
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           #6c757d;
  --bs-btn-hover-border-color: #6c757d;
  --bs-btn-active-color:       #fff;
  --bs-btn-active-bg:          #565e64;
  --bs-btn-active-border-color: #51585e;
}
[data-bs-theme="dark"] .btn-outline-secondary {
  --bs-btn-color:              rgba(255, 255, 255, 0.88);
  --bs-btn-border-color:       rgba(255, 255, 255, 0.42);
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           rgba(255, 255, 255, 0.08);
  --bs-btn-hover-border-color: rgba(255, 255, 255, 0.55);
  --bs-btn-active-color:       #fff;
  --bs-btn-active-bg:          rgba(255, 255, 255, 0.12);
  --bs-btn-active-border-color: rgba(255, 255, 255, 0.55);
}

/* ─── .btn-outline-danger ────────────────────────────────────────────────── */
.btn-outline-danger {
  --bs-btn-color:              #dc3545;
  --bs-btn-bg:                 transparent;
  --bs-btn-border-color:       #dc3545;
  --bs-btn-hover-color:        #fff;
  --bs-btn-hover-bg:           #dc3545;
  --bs-btn-hover-border-color: #dc3545;
  --bs-btn-active-color:       #fff;
  --bs-btn-active-bg:          #b02a37;
  --bs-btn-active-border-color: #a52834;
}

/* ─── .btn-close ─────────────────────────────────────────────────────────── */
.btn-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  padding: 0.25em;
  color: currentColor;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em no-repeat;
  border: 0;
  border-radius: 0.375rem;
  opacity: 0.5;
  cursor: pointer;
  filter: none;
}
.btn-close:hover  { opacity: 0.75; }
.btn-close:focus  { outline: 0; opacity: 1; }
[data-bs-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}
