.p-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  border-radius: 6px;
  font-size: 0.9rem;
  font-weight: 700;
  white-space: nowrap;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.p-button:hover {
  opacity: 1;
}

.p-button--primary {
  background-color: var(--color-accent);
  color: #ffffff;
  box-shadow: 0 8px 24px -10px rgba(47, 150, 224, 0.6);
}

.p-button--primary:hover {
  background-color: var(--color-accent-bright);
  transform: translateY(-2px);
  box-shadow: 0 0 0 1px rgba(108, 199, 255, 0.5), 0 20px 40px -14px rgba(47, 150, 224, 0.7), 0 0 32px -4px rgba(108, 199, 255, 0.6);
}

.p-button--outline {
  border: 1px solid var(--color-accent);
  color: var(--color-accent-bright);
}

.p-button--outline:hover {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 0 24px -6px rgba(47, 150, 224, 0.6);
}

.p-button--large {
  padding: 16px 40px;
  font-size: 1rem;
}
