/*
  Button component styles.
  Reuse these classes for CTAs, links, and icon-only actions.
*/

.btn-brand,
.btn-secondary-brand,
.btn-outline-brand,
.btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-bold);
  border-radius: var(--radius-pill);
  transition: background-color var(--transition-base), color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base);
}

.btn-brand {
  min-height: var(--size-button-height);
  padding: var(--space-3) var(--space-6);
  color: var(--color-primary);
  background-color: var(--color-accent);
  border: var(--border-width-base) solid var(--color-accent);
}

.btn-brand:hover,
.btn-brand:focus {
  color: var(--color-white);
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
}

.btn-secondary-brand {
  min-height: var(--size-button-height);
  padding: var(--space-3) var(--space-6);
  color: var(--color-white);
  background-color: var(--color-primary);
  border: var(--border-width-base) solid var(--color-primary);
}

.btn-secondary-brand:hover,
.btn-secondary-brand:focus {
  color: var(--color-primary);
  background-color: var(--color-primary-light);
  border-color: var(--color-primary-light);
}

.btn-outline-brand {
  min-height: var(--size-button-height);
  padding: var(--space-3) var(--space-6);
  color: var(--color-primary);
  background-color: transparent;
  border: var(--border-width-base) solid var(--color-primary);
}

.btn-outline-brand:hover,
.btn-outline-brand:focus {
  color: var(--color-white);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-icon {
  width: var(--size-icon-button);
  height: var(--size-icon-button);
  padding: var(--space-0);
  color: var(--color-primary);
  background-color: var(--color-card-bg);
  border: var(--border-width-base) solid var(--color-card-border);
}

.btn-icon:hover,
.btn-icon:focus {
  color: var(--color-white);
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
