.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 700;
  letter-spacing: -0.01em;
  border: 1px solid transparent;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.btn--pill {
  border-radius: 999px;
  padding: 12px 18px;
  min-height: 44px;
}

.btn--login {
  padding: 10px 16px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(90deg, var(--brand-900), var(--brand-600));
}

.btn--primary {
  color: #fff;
  background: linear-gradient(90deg, var(--brand-800), var(--brand-600));
  box-shadow: 0 10px 26px rgba(3, 61, 146, 0.16);
}

.btn--secondary {
  background: #fff;
  border-color: var(--border);
  color: rgba(15, 23, 42, 0.88);
  box-shadow: var(--shadow-sm);
}

.btn--cta {
  background: #fff;
  color: var(--brand-900);
  padding: 14px 22px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
}

/* Bottone success (gradient verde-blu come "Completa") */
.btn-success {
  padding: 12px 20px;
  border-radius: 999px;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(90deg, var(--brand-900), var(--brand-600));
  box-shadow: 0 10px 26px rgba(3, 61, 146, 0.16);
}

.btn-success:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(3, 61, 146, 0.24);
}

/* Bottone mini (per download grafici) */
.btn-mini {
  padding: 8px 14px;
  font-size: 13px;
  border-radius: 999px;
}

/* Bottone secondary (aggiornato per match design) */
.btn-secondary {
  padding: 12px 20px;
  border-radius: 999px;
  background: #fff;
  border: 1.5px solid var(--border);
  color: var(--brand-900);
  box-shadow: var(--shadow-sm);
  font-weight: 700;
}

.btn-secondary:hover {
  border-color: var(--brand-600);
  background: var(--tint-blue);
}

.btn:hover {
  transform: translateY(-1px);
}

.btn:active {
  transform: translateY(0px);
}

.btn:focus-visible {
  outline: none;
  box-shadow: var(--focus);
}

.btn-ico {
  font-size: 18px;
  line-height: 1;
}