/* --- 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, color 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-forest);
  color: white;
}
.btn-primary:hover {
  transform: translateY(-1px);
  background: var(--color-brand-700);
  box-shadow: 0 4px 16px rgba(15, 56, 21, 0.22);
}

.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 / shape variants --- */

.btn-auto {
  width: auto;
}

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

/* Pill: Lidfly-style rounded buttons for landing/marketing pages.
   Use alongside .btn.btn-primary, e.g. <button class="btn btn-primary btn-pill">.
   In the app/admin UI prefer default rectangular buttons. */
.btn-pill {
  border-radius: var(--radius-pill);
  padding: 14px 28px;
}

/* Forest primary: dark-green hero CTA (Lidfly look). Pair with .btn.btn-pill. */
.btn-forest {
  background: var(--color-forest);
  color: #fff;
}
.btn-forest:hover {
  background: var(--color-brand-700);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(15, 56, 21, 0.22);
}

.btn-outline-forest {
  background: transparent;
  color: var(--color-forest);
  border: 1.5px solid var(--color-forest);
}
.btn-outline-forest:hover {
  background: var(--color-forest);
  color: #fff;
}

/* --- Chip --- */

.chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  background: var(--color-matcha-light);
  color: var(--color-forest);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
