/* =============================================================================
   buttons.css: Button styles
   ============================================================================= */

/* Buttons */
/*---------*/
button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  border: 1px solid var(--tf-accent);
  border-radius: var(--tf-radius);
  background: var(--tf-accent);
  color: var(--tf-accent-fg);
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}

button:hover:not(:disabled) {
  background: var(--tf-accent-hover);
  border-color: var(--tf-accent-hover);
}

button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

button:focus-visible {
  outline: 2px solid var(--tf-accent);
  outline-offset: 2px;
}

/* Outline / Secondary Buttons */
/*-----------------------------*/
button.outline,
[role="button"].outline {
  background: transparent;
  color: var(--tf-accent);
  border: 1px solid var(--tf-accent);
  border-radius: var(--tf-radius);
  transition: color 0.15s ease, border-color 0.15s ease;
  text-decoration: none;
}

button.outline:hover:not(:disabled),
[role="button"].outline:hover {
  background: transparent;
  color: var(--tf-accent-hover);
  border-color: var(--tf-accent-hover);
}

/* Consent Buttons */
/*-----------------*/
button.btn-confirm {
  color: #16a34a;
  border-color: #16a34a;
}

button.btn-confirm:hover:not(:disabled) {
  color: #15803d;
  border-color: #15803d;
}

[data-theme="dark"] button.btn-confirm {
  color: #4ade80;
  border-color: #4ade80;
}

[data-theme="dark"] button.btn-confirm:hover:not(:disabled) {
  color: #86efac;
  border-color: #86efac;
}

/* Delete Buttons */
/*----------------*/
button.btn-delete,
[role="button"].btn-delete {
  color: #dc2626;
  border-color: #dc2626;
}

button.btn-delete:hover:not(:disabled),
[role="button"].btn-delete:hover {
  color: #b91c1c;
  border-color: #b91c1c;
}

[data-theme="dark"] button.btn-delete,
[data-theme="dark"] [role="button"].btn-delete {
  color: #f87171;
  border-color: #f87171;
}

[data-theme="dark"] button.btn-delete:hover:not(:disabled),
[data-theme="dark"] [role="button"].btn-delete:hover {
  color: #fca5a5;
  border-color: #fca5a5;
}
