/* =========================
   BUTTONS - Улучшенная версия
   ========================= */

/* Base button */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:56px;
  padding:0 32px;
  border-radius:var(--radius-pill);
  font-weight:var(--font-black);
  font-size:16px;
  text-decoration:none;
  transition:all var(--transition-base);
  cursor:pointer;
  border:none;
  font-family:var(--font-base);
  white-space:nowrap;
  user-select:none;
  position:relative;
  overflow:hidden;
}

/* Primary button - зелёная */
.btn--primary{
  background:linear-gradient(135deg, var(--primary), var(--primary-hover));
  color:#fff;
  box-shadow:0 4px 16px rgba(27,67,50,0.25);
}

.btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(27,67,50,0.35);
}

.btn--primary:active{
  transform:translateY(0);
}

/* Secondary button - светлая с рамкой */
.btn--secondary{
  background:var(--surface);
  color:var(--primary);
  border:2px solid var(--border-hover);
  box-shadow:0 2px 8px rgba(0,0,0,0.04);
}

.btn--secondary:hover{
  background:var(--primary-light);
  border-color:var(--primary);
  transform:translateY(-2px);
  box-shadow:0 4px 16px rgba(27,67,50,0.15);
}

.btn--secondary:active{
  transform:translateY(0);
}

/* Ghost button - прозрачная */
.btn--ghost{
  background:transparent;
  color:var(--text);
  border:2px solid var(--line);
}

.btn--ghost:hover{
  background:rgba(27,67,50,0.05);
  border-color:var(--border-hover);
  transform:translateY(-1px);
}

/* Size variants */
.btn--lg{
  height:60px;
  padding:0 36px;
  font-size:17px;
}

.btn--sm{
  height:48px;
  padding:0 24px;
  font-size:15px;
}

.btn--xs{
  height:40px;
  padding:0 20px;
  font-size:14px;
}

/* Full width */
.btn--block{
  width:100%;
}

/* Disabled state */
.btn:disabled,
.btn.is-disabled{
  opacity:0.5;
  cursor:not-allowed;
  transform:none !important;
}

/* Icon buttons */
.btn--icon{
  padding:0;
  width:56px;
  border-radius:50%;
}

.btn--icon.btn--lg{
  width:60px;
}

.btn--icon.btn--sm{
  width:48px;
}

/* Button group */
.btn-group{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.btn-group--center{
  justify-content:center;
}

/* Responsive */
@media (max-width:640px){
  .btn{
    height:52px;
    padding:0 28px;
    font-size:15px;
  }
  
  .btn--lg{
    height:56px;
    padding:0 32px;
    font-size:16px;
  }
  
  .btn--sm{
    height:44px;
    padding:0 20px;
    font-size:14px;
  }
  
  .btn-group{
    flex-direction:column;
  }
  
  .btn-group .btn{
    width:100%;
  }
}