/* ActionButton Component Styles */

/* Base button styles */
.action-button {
  border-radius: 8px;
  padding: 0;
  transition: all 0.2s ease;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
}

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

/* Size variants */
.action-button.size-small {
  width: 36px;
  height: 36px;
}

.action-button.size-medium {
  width: 42px;
  height: 42px;
}

.action-button.size-large {
  width: 48px;
  height: 48px;
}

/* Mobile size adjustments */
@media (max-width: 576px) {
  .action-button.size-small {
    width: auto;
    height: auto;
  }

  .action-button.size-medium {
    width: 36px;
    height: 36px;
  }

  .action-button.size-large {
    width: 42px;
    height: 42px;
  }
}

/* Variant styles */
.action-button.variant-default {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.02);
  color: rgba(255, 255, 255, 0.8);
}

.action-button.variant-default:not(:disabled):hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}

.action-button.variant-primary {
  background: linear-gradient(to right, rgb(151, 71, 255), rgb(124, 58, 237));
  border: 1px solid rgba(151, 71, 255, 0.5);
  color: #ffffff;
}

.action-button.variant-primary:not(:disabled):hover {
  background: linear-gradient(to right, rgb(140, 65, 235), rgb(113, 52, 215));
  border-color: rgba(140, 65, 235, 0.6);
}

.action-button.variant-danger {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.3);
  color: rgba(239, 68, 68, 0.9);
}

.action-button.variant-danger:not(:disabled):hover {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
}

.action-button.variant-success {
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.3);
  color: rgba(34, 197, 94, 0.9);
}

.action-button.variant-success:not(:disabled):hover {
  background: rgba(34, 197, 94, 0.15);
  border-color: rgba(34, 197, 94, 0.4);
}

.action-button.variant-warning {
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.3);
  color: rgba(251, 191, 36, 0.9);
}

.action-button.variant-warning:not(:disabled):hover {
  background: rgba(251, 191, 36, 0.15);
  border-color: rgba(251, 191, 36, 0.4);
}

/* Icon sizing */
.action-button-icon {
  pointer-events: none;
}

.action-button.size-small .action-button-icon {
  width: 14px;
  height: 14px;
}

.action-button.size-medium .action-button-icon {
  width: 16px;
  height: 16px;
}

.action-button.size-large .action-button-icon {
  width: 18px;
  height: 18px;
}