/* Inter font loaded locally via @fontsource/inter — no external CDN needed */

:root {
  --brand-primary: #6366f1;
  --brand-dark: #312e81;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: #f8fafc;
  color: #0f172a;
  -webkit-font-smoothing: antialiased;
}

/* Animations for Master Reviews */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in {
  animation: fadeIn 0.8s ease-out forwards;
}

/* Custom Utilities for Financial Tables */
.table-container {
  overflow-x: auto;
  border-radius: 1rem;
  box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}

/* Logo Fix - prevent oversized logos if Tailwind CDN fails to catch something */
img[alt*="logo"],
img[src*="logo"] {
  max-height: 40px;
  width: auto;
  object-fit: contain;
}

/* Scrollbar styling */
.custom-scrollbar::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

.custom-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 20px;
}

.scrollbar-visible {
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 #f1f5f9;
}

.scrollbar-visible::-webkit-scrollbar {
  width: 10px;
  display: block !important;
}

.scrollbar-visible::-webkit-scrollbar-thumb {
  background-color: #64748b;
  /* Slate 500 para más contraste */
  border-radius: 10px;
  border: 2px solid #f8fafc;
}

.scrollbar-visible::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 10px;
}

/* Custom Prose-like styling for Loan Content */
.loan-content-prose h1 {
  font-size: 2.25rem;
  font-weight: 800;
  color: #1e1b4b;
  /* Indigo 950 */
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.loan-content-prose h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #312e81;
  /* Indigo 900 */
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  line-height: 1.3;
}

.loan-content-prose h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1e293b;
  /* Slate 800 */
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.loan-content-prose p {
  margin-bottom: 1.25rem;
  line-height: 1.7;
  color: #475569;
  /* Slate 600 */
}

.loan-content-prose ul,
.loan-content-prose ol {
  margin-bottom: 1.25rem;
  padding-left: 1.5rem;
}

.loan-content-prose li {
  margin-bottom: 0.5rem;
  color: #475569;
}

.loan-content-prose strong {
  color: #1e293b;
  font-weight: 600;
}

/* Dynamic Red Circle Animation */
@keyframes drawStroke {
  0% {
    stroke-dashoffset: 300;
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  100% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

.animate-hand-draw {
  stroke-dasharray: 300;
  stroke-dashoffset: 300;
  animation: drawStroke 1.5s ease-out forwards;
}

/* Horizontal Bounce for Arrow */
@keyframes bounceHorizontal {

  0%,
  100% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(-25%);
  }
}

.animate-bounce-horizontal {
  animation: bounceHorizontal 1s infinite;
}

/* Subtle Pulse for Social Proof Badges */
@keyframes pulseSubtle {

  0%,
  100% {
    opacity: 1;
    transform: scale(1);
  }

  50% {
    opacity: 0.85;
    transform: scale(0.98);
  }
}

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