/* Shared product-action button used across authenticated pages. */
.btn-aya {
  --aya-btn-current-height: var(--aya-btn-height);
  --aya-btn-current-padding-x: var(--aya-btn-padding-x);
  --aya-btn-current-font-size: var(--aya-btn-font-size);

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--aya-btn-icon-gap);
  min-height: var(--aya-btn-current-height);
  padding-inline: var(--aya-btn-current-padding-x);
  border-radius: var(--aya-btn-radius);
  font-size: var(--aya-btn-current-font-size);
  font-weight: var(--aya-btn-font-weight);
  letter-spacing: -0.01em;
  line-height: 1.1;
  white-space: nowrap;
  transition:
    transform var(--aya-transition-fast),
    background-color var(--aya-transition-fast),
    border-color var(--aya-transition-fast),
    color var(--aya-transition-fast),
    box-shadow var(--aya-transition-fast);
}

.btn-aya.btn-sm,
.btn-aya-sm {
  --aya-btn-current-height: var(--aya-btn-height-sm);
  --aya-btn-current-padding-x: var(--aya-btn-padding-x-sm);
  --aya-btn-current-font-size: var(--aya-btn-font-size-sm);
}

.btn-aya:hover {
  transform: translateY(-1px);
}

.btn-aya:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(var(--aya-accent-primary-rgb), 0.18);
}

.btn-aya:disabled,
.btn-aya.disabled {
  transform: none;
  box-shadow: none;
}

.btn-aya .feather,
.btn-aya [data-feather] {
  flex: 0 0 auto;
}

/* Reusable page-level CTA button class.
   Compose with `.btn-aya` and a Bootstrap variant. */
.btn-cta {
  min-height: var(--cta-btn-height);
  padding-inline: var(--cta-btn-padding-x, 1.35rem);
  border-radius: var(--cta-btn-radius);
  font-size: var(--cta-btn-font-size);
  font-weight: var(--cta-btn-font-weight);
  letter-spacing: var(--cta-btn-letter-spacing, -0.01em);
  line-height: var(--cta-btn-line-height, 1.1);
}

/* Dashboard-specific hero CTA used inside the check-in circle. */
.btn-checkin-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--checkin-cta-btn-height, var(--cta-btn-height));
  padding: 0 2rem;
  border: none;
  border-radius: 999px;
  background: var(--aya-accent-primary);
  color: var(--aya-text-on-accent);
  font-family: var(--aya-font-heading);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  transition:
    transform var(--aya-transition-fast),
    background-color var(--aya-transition-fast),
    color var(--aya-transition-fast);
}

.btn-checkin-cta:hover {
  transform: translateY(-1px);
  background: var(--aya-accent-primary-hover);
  color: var(--aya-text-on-accent);
}

.btn-checkin-cta:focus-visible {
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(var(--aya-accent-primary-rgb), 0.18);
}

.btn-checkin-cta--danger {
  background: var(--aya-accent-danger);
}

.btn-checkin-cta--danger:hover {
  background: #dc2626;
  color: var(--aya-text-on-accent);
}
