/* ==================== BUTTON COMPONENT ==================== */
/* Reusable button with optional icon and hover state            */
/* Usage:                                                        */
/*   <a class="btn" href="#">Label</a>                          */
/*   <a class="btn" href="#">Label <span class="btn__icon">→</span></a> */
/*   <a class="btn btn--outline" href="#">Label</a>             */
/* ============================================================= */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  background-color: var(--role-brand-primary);
  color: var(--neutral-0);
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.75rem 1.5rem;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.btn:hover {
  background-color: var(--role-brand-primary-hover);
  text-decoration: none;
  color: var(--neutral-0);
}

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

/* Optional icon inside button */
.btn__icon {
  display: inline-flex;
  align-items: center;
  font-size: 1em;
  transition: transform 0.2s ease;
}

.btn:hover .btn__icon {
  transform: translateX(3px);
  text-decoration: none;
}

/* Outline variant */
.btn--outline {
  background-color: transparent;
  color: var(--role-brand-primary);
  border: 2px solid var(--role-brand-primary);
}

.btn--outline:hover {
  background-color: var(--role-brand-primary);
  color: var(--neutral-0);
}
