/**
 * Кнопки (Apple HIG + Telegram theme).
 */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--tap-min);
  min-width: var(--tap-min);
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: var(--tg-button);
  color: var(--tg-button-text);
  font-size: var(--text-body);
  font-weight: 500;
  border: none;
  line-height: 1.1;
  transition: transform 0.2s, opacity 0.2s, filter 0.2s;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  text-align: center;
  text-decoration: none;
}

.btn:active {
  transform: scale(0.97);
  opacity: 0.8;
}

.btn:disabled {
  opacity: 0.5;
  filter: grayscale(0.2);
  cursor: not-allowed;
}

/* "Заряжается" кнопка (скоро станет активной) */
.btn--charging {
  position: relative;
  overflow: hidden;
}
.btn--charging::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: rgba(51, 144, 236, 0.35);
  transform: scaleX(0);
  transform-origin: left;
  animation: btnCharge var(--charge-ms, 10000ms) linear forwards;
}
@keyframes btnCharge {
  to { transform: scaleX(1); }
}

.btn--secondary {
  background: rgba(0, 0, 0, 0.06);
  color: var(--tg-text);
}

.btn--ghost {
  background: transparent;
  color: var(--tg-link);
}

.btn--danger {
  background: #ff3b30;
  color: #ffffff;
}

.btn--icon {
  padding: 0 var(--space-md);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
}

.btn--wide {
  width: 100%;
}

