/* ════════════════════════════════════════════════════════════════════════
   SHOW PAGE · BUTTONS — pixel-match v26 home (.btn-lime / .btn-ghost)
   Same proportions whether the partial uses --xl, --lg, or default
   ════════════════════════════════════════════════════════════════════════ */

.ipn-btn,
a.ipn-btn,
button.ipn-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  font-family: "IBM Plex Mono", ui-monospace, monospace !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  min-height: auto !important;
  padding: 16px 28px !important;
  border: 1px solid transparent !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease !important;
}

/* Size modifiers exist on partials — neutralize them so all buttons match home */
.ipn-btn--xl,
.ipn-btn--lg,
.ipn-btn--sm,
.ipn-btn.ipn-btn--xl,
.ipn-btn.ipn-btn--lg,
.ipn-btn.ipn-btn--sm {
  font-size: 12px !important;
  padding: 16px 28px !important;
  letter-spacing: .22em !important;
}

/* PRIMARY = home's .btn-lime */
.ipn-btn--primary,
a.ipn-btn--primary,
button.ipn-btn--primary {
  background: #c8f542 !important;
  color: #06060a !important;
  border: 1px solid #c8f542 !important;
}
.ipn-btn--primary:hover,
.ipn-btn--primary:focus-visible {
  background: #d6ff5a !important;
  border-color: #d6ff5a !important;
  transform: translateY(-1px) !important;
}

/* GHOST = home's .btn-ghost (15px padding vertical, white border) */
.ipn-btn--ghost,
a.ipn-btn--ghost,
button.ipn-btn--ghost {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.3) !important;
  padding: 15px 26px !important;
  font-weight: 600 !important;
}
.ipn-btn--ghost:hover,
.ipn-btn--ghost:focus-visible {
  border-color: #c8f542 !important;
  color: #c8f542 !important;
  background: rgba(200,245,66,.08) !important;
}

/* OUTLINE (lime accent) */
.ipn-btn--outline {
  background: transparent !important;
  color: #c8f542 !important;
  border: 1px solid #c8f542 !important;
}
.ipn-btn--outline:hover {
  background: #c8f542 !important;
  color: #06060a !important;
}

/* DISABLED (CASE CLOSED etc.) */
.ipn-btn--disabled,
.ipn-btn[aria-disabled="true"],
.ipn-btn:disabled {
  background: rgba(255,255,255,.06) !important;
  color: rgba(255,255,255,.35) !important;
  border-color: rgba(255,255,255,.12) !important;
  cursor: not-allowed !important;
  pointer-events: none;
  transform: none !important;
}

.ipn-btn:focus-visible {
  outline: 2px solid #c8f542 !important;
  outline-offset: 3px !important;
}

/* Cluster — same as home hero-ctas */
.ipn-cluster {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  align-items: center !important;
}

@media (max-width: 640px) {
  .ipn-cluster .ipn-btn,
  .ipn-cluster a.ipn-btn,
  .ipn-cluster button.ipn-btn {
    width: 100% !important;
    padding: 16px 24px !important;
  }
}
