/* Pelvin Ghana Custom Overrides & Utility Classes */

/* Custom Typography settings */
body {
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  scroll-behavior: smooth;
}

/* Custom styles for Display Typography headings */
.font-display {
  font-family: 'Space Grotesk', sans-serif;
}

/* Nav Link active styles */
.nav-btn.active {
  color: #2B59FF;
  border-bottom: 2px solid #2B59FF;
  border-radius: 0;
}

/* Accordion expand/collapse transition */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out, opacity 0.2s ease-out;
  opacity: 0;
}

.accordion-content.expanded {
  max-height: 500px;
  opacity: 1;
}

/* Custom drag and drop glow */
.dragover-glow {
  border-color: #2B59FF !important;
  background-color: rgba(43, 89, 255, 0.05) !important;
}

/* Custom Scrollbar for modern feel */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: #F3F4F6;
}

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

::-webkit-scrollbar-thumb:hover {
  background: #9CA3AF;
}

/* Fade-in transitions for tabs */
.tab-content {
  animation: fadeIn 0.4s ease-in-out forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Slide image hover scale zoom */
.slide-bg {
  transition: transform 6000ms ease-out;
}

.slide-active .slide-bg {
  transform: scale(1.05);
}

/* Pulse animation helper */
.pulse-glow-blue {
  box-shadow: 0 0 0 0 rgba(43, 89, 255, 0.4);
  animation: pulseBlue 2s infinite;
}

@keyframes pulseBlue {
  0% {
    box-shadow: 0 0 0 0 rgba(43, 89, 255, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(43, 89, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(43, 89, 255, 0);
  }
}

/* Typist cursor helper for chatbot */
.typing-dot {
  animation: typingDot 1s infinite ease-in-out;
}

@keyframes typingDot {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}

/* ====================================================
   ACCESSIBILITY & SCALE OVERRIDES (Improved Readability)
   ==================================================== */
body {
  font-size: 16px;
  line-height: 1.6;
}

/* Safely scale up custom and utility font-size classes */
.text-[9px] {
  font-size: 0.75rem !important; /* 12px */
}

.text-[10px] {
  font-size: 0.8125rem !important; /* 13px */
}

.text-[11px] {
  font-size: 0.875rem !important; /* 14px */
}

.text-xs {
  font-size: 0.875rem !important; /* 14px (originally 12px) */
  line-height: 1.35rem !important;
}

.text-sm {
  font-size: 1rem !important; /* 16px (originally 14px) */
  line-height: 1.55rem !important;
}

.text-base {
  font-size: 1.125rem !important; /* 18px (originally 16px) */
  line-height: 1.7rem !important;
}

.text-lg {
  font-size: 1.25rem !important; /* 20px (originally 18px) */
}

.text-xl {
  font-size: 1.4rem !important; /* ~22px (originally 20px) */
}

.text-2xl {
  font-size: 1.75rem !important; /* 28px (originally 24px) */
}

.text-3xl {
  font-size: 2.125rem !important; /* 34px (originally 30px) */
}

