/* --- Button component --- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 14px 24px;
  border: none;
  border-radius: var(--radius-element);
  font-size: var(--text-lg);
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
  margin-top: 12px;
}

.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}

/* --- Color variants --- */

.btn-primary {
  background: var(--color-brand);
  color: white;
}
.btn-primary:hover {
  transform: translateY(-1px);
  background: var(--color-brand-hover);
  box-shadow: 0 4px 16px rgba(0, 137, 123, 0.2);
}

.btn-secondary {
  background: var(--color-bg);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}
.btn-secondary:hover {
  background: var(--color-bg-dark);
}

.btn-yandex-token {
  background: var(--color-accent-blue);
  color: #fff;
  font-weight: 700;
  border: none;
}
.btn-yandex-token:hover {
  background: var(--color-accent-blue-hover);
}

.btn-vk {
  background: #4680c2;
  color: white;
}
.btn-vk:hover {
  background: #3a6da8;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(70, 128, 194, 0.2);
}

.btn-cancel {
  background: var(--color-bg);
  color: var(--color-text);
  border: 1px solid var(--color-border);
}
.btn-cancel:hover {
  background: var(--color-bg-dark);
}

.btn-danger {
  background: var(--color-danger);
  color: white;
}
.btn-danger:hover {
  background: #6d28d9;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(124, 58, 237, 0.2);
}

/* --- Size variants --- */

.btn-auto {
  width: auto;
}

.btn-sm {
  width: auto;
  padding: 8px 16px;
  font-size: 15px;
}
