/**
 * Buttons (Figma btn-primary / btn-outline / btn-text, sizes sm · md · lg).
 * Usable on <a>, <button> and <span> (decorative CTA inside a link).
 */
.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border: 1px solid transparent;
  border-radius: var(--radius-full);
  font-family: var(--font-family-body);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color var(--duration-fast) var(--easing-standard),
    color var(--duration-fast) var(--easing-standard),
    border-color var(--duration-fast) var(--easing-standard);
}

.c-button--sm {
  padding: 0.375rem 0.875rem;
  font-size: var(--font-size-s);
  line-height: var(--line-height-xs);
}

.c-button--md {
  padding: var(--space-2) var(--space-5);
  font-size: var(--font-size-s);
  line-height: var(--line-height-s);
}

.c-button--lg {
  padding: 0.6875rem 1.625rem;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
}

.c-button--primary {
  background: var(--color-brand);
  box-shadow: var(--shadow-primary-sm);
  color: var(--color-on-brand);
}

.c-button--primary:hover {
  background: var(--color-brand-hover);
}

.c-button--primary:active {
  background: var(--color-brand-active);
}

.c-button--danger {
  background: var(--color-error-500);
  box-shadow: var(--shadow-primary-sm);
  color: var(--color-page-50);
}

.c-button--danger:hover {
  background: var(--color-error-600);
}

.c-button--secondary {
  background: var(--color-secondary);
  box-shadow: var(--shadow-secondary-sm);
  color: var(--color-on-secondary);
}

.c-button--secondary:hover {
  background: var(--color-secondary-hover);
}

.c-button--outline {
  border-color: var(--color-secondary);
  background: transparent;
  color: var(--color-secondary);
}

.c-button--outline:hover {
  background: var(--color-secondary-50);
}

.c-button--text {
  padding-inline: var(--space-3);
  background: transparent;
  color: var(--color-brand);
}

.c-button--text:hover {
  color: var(--color-brand-hover);
}

/* Inside a colored collection tile: the tile color at half brightness. */
.c-button--tile {
  background: color-mix(in srgb, var(--tile-color) 50%, black);
  box-shadow: var(--shadow-secondary-sm);
  color: var(--color-white);
}
