/* Custom Enhancements for Operava Cloudflare Pages Public Portal */

:root {
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
}

body {
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

code, pre, .font-mono {
  font-family: var(--font-mono);
}

.payment-method-card:has(input:checked),
.guest-gateway-card:has(input:checked) {
  border-color: #7e22ce !important;
  background-color: #faf5ff !important;
  box-shadow: 0 0 0 1px #7e22ce !important;
}

@keyframes pulse-subtle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

.animate-pulse-subtle {
  animation: pulse-subtle 2s infinite ease-in-out;
}

/* Print Optimization */
@media print {
  body * {
    visibility: hidden;
  }
  #receipt-modal, #receipt-modal * {
    visibility: visible;
  }
  #receipt-modal {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    background: transparent !important;
    padding: 0 !important;
  }
  #receipt-modal .bg-neutral-900 {
    background-color: #1e293b !important;
    color: #ffffff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
