
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  border: 1px solid transparent;
  font-family: var(--font-sans);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(0.9rem, 0.35vw + 0.85rem, 1rem);
  cursor:pointer;
  user-select:none;
  transition: all 0.2s ease;
}

.btn:disabled,
.btn[disabled]{
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.btn-primary{
  background: var(--g-accent-plum);
  color: var(--white);
  border-color: var(--plum);
}

.btn-primary:hover{
  background: var(--plum-soft);
  box-shadow: 0 8px 32px rgba(122,77,255,0.4);
  transform: translateY(-1px);
  text-decoration:none;
}

.btn-outline{
  background: transparent;
  color: var(--plum-soft);
  border-color: rgba(122,77,255,0.3);
}

.btn-outline:hover{
  background: rgba(122,77,255,0.1);
  border-color: rgba(122,77,255,0.5);
  color: var(--foreground);
  box-shadow: 0 0 20px rgba(122,77,255,0.2);
  text-decoration:none;
}



.btn {
  border-radius: 14px;
  min-height: var(--tap-target);
  padding: clamp(0.65rem, 0.9vw + 0.35rem, 0.95rem) clamp(1.1rem, 1.6vw + 0.8rem, 2rem);
  letter-spacing: 0.06em;
}

.btn:active { transform: translateY(1px) scale(0.99); }
