@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --bg-dark: #090D16;
  --card-dark: #0F172A;
  --card-border: rgba(255, 255, 255, 0.08);
  --accent-emerald: #10B981;
  --accent-indigo: #6366F1;
}

body {
  font-family: var(--font-sans);
  background-color: var(--bg-dark);
  color: #F1F5F9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.font-mono-data {
  font-family: var(--font-mono);
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: #090D16;
}

::-webkit-scrollbar-thumb {
  background: #1E293B;
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: #334155;
}

/* Glassmorphism & Borders */
.glass-panel {
  background: rgba(15, 23, 42, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.glass-panel-hover {
  transition: all 0.2s ease-in-out;
}

.glass-panel-hover:hover {
  border-color: rgba(255, 255, 255, 0.18);
  transform: translateY(-2px);
}

/* Radial Glows */
.hero-glow {
  background: radial-gradient(circle 500px at 50% -20%, rgba(99, 102, 241, 0.15), rgba(16, 185, 129, 0.05), transparent 70%);
}

.hero-radial-subtle {
  background: radial-gradient(circle at 50% 50%, rgba(30, 41, 59, 0.5) 0%, rgba(9, 13, 22, 1) 100%);
}

/* Table Lead Blur for Protected/Locked Numbers */
.lead-phone-blur {
  filter: blur(4px);
  user-select: none;
}

/* Smooth Accordion */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1), opacity 0.2s ease-in-out;
  opacity: 0;
}

.accordion-content.active {
  max-height: 500px;
  transition: max-height 0.35s ease-in-out, opacity 0.3s ease-in-out;
  opacity: 1;
}

/* Subtle badge pulse */
@keyframes pulse-subtle {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.animate-pulse-subtle {
  animation: pulse-subtle 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
