/* ============================================================
   Digital Download Center — Custom styles
   ============================================================ */

* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.font-inter { font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif; }

/* Animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fadeInUp { animation: fadeInUp .35s ease-out both; }

@keyframes pulseRing {
  0% { box-shadow: 0 0 0 0 rgba(249, 115, 22, .5); }
  70% { box-shadow: 0 0 0 14px rgba(249, 115, 22, 0); }
  100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); }
}
.animate-pulse-ring { animation: pulseRing 1.6s infinite; }

/* Scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 8px;
}
.dark ::-webkit-scrollbar-thumb { background: #475569; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Status pills */
.status-pill { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; }
.status-paid { background: #dcfce7; color: #15803d; }
.status-shipped { background: #dbeafe; color: #1d4ed8; }
.status-completed { background: #f3e8ff; color: #7e22ce; }
.status-cancelled { background: #fee2e2; color: #b91c1c; }
.status-default { background: #f1f5f9; color: #475569; }
.dark .status-paid { background: rgba(34, 197, 94, .15); color: #4ade80; }
.dark .status-shipped { background: rgba(59, 130, 246, .15); color: #60a5fa; }
.dark .status-completed { background: rgba(168, 85, 247, .15); color: #c084fc; }
.dark .status-cancelled { background: rgba(239, 68, 68, .15); color: #f87171; }
.dark .status-default { background: rgba(148, 163, 184, .15); color: #cbd5e1; }

/* Drag-active dropzone */
.dropzone-active {
  border-color: #f97316 !important;
  background: rgba(249, 115, 22, .05);
  transform: scale(1.01);
}

/* Tab button active */
.tab-btn.active {
  color: #ea580c;
  border-bottom-color: #f97316 !important;
}

/* Code highlighter for docs */
code {
  font-family: 'JetBrains Mono', 'Courier New', monospace;
  font-size: 0.9em;
}
pre code { font-size: 12px; line-height: 1.6; }

/* Smooth focus ring */
input:focus, textarea:focus, select:focus, button:focus { outline: none; }
input:focus-visible, textarea:focus-visible, select:focus-visible {
  box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.15);
}

/* Loader */
.spinner {
  width: 20px;
  height: 20px;
  border: 3px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  display: inline-block;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* Table hover */
tbody tr { transition: background .15s ease; }
tbody tr:hover { background: rgba(249, 115, 22, .04); }
.dark tbody tr:hover { background: rgba(249, 115, 22, .06); }
