/* SPANE - Youth Opportunity Hub Custom CSS */

:root {
  --primary: #091426;
  --primary-container: #1e293b;
  --secondary: #0058be;
  --secondary-container: #2170e4;
  --tertiary: #00190e;
  --surface: #f7f9fb;
  --on-surface: #191c1e;
  --outline: #75777d;
  --outline-variant: #c5c6cd;
}

body {
  background-color: var(--surface);
  color: var(--on-surface);
  font-family: 'Inter', sans-serif;
}

/* Subheadings & Lato Font Replacement */
h2, h3, h4, h5, h6, .subheading, .font-subheading, .font-lato {
  font-family: 'Lato', sans-serif !important;
}

.font-mono {
  font-family: 'Lato', sans-serif !important;
}

/* Glassmorphism & Header */
.glass-header {
  background: rgba(247, 249, 251, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Card Hover micro-interactions */
.opportunity-card {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.opportunity-card:hover {
  transform: translateY(-2px);
  box-shadow: 0px 8px 24px rgba(9, 20, 38, 0.08);
  border-color: #0058be;
}

/* Category Badge Pills */
.category-badge {
  font-family: 'Geist', sans-serif;
  letter-spacing: 0.02em;
}

/* Custom Scrollbars */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* ATS Score Meter Animation */
.score-circle {
  transition: stroke-dashoffset 0.8s ease-in-out;
}

/* Print Rules for ATS CV Builder */
@media print {
  body * {
    visibility: hidden;
  }
  #ats-cv-print-area, #ats-cv-print-area * {
    visibility: visible;
  }
  #ats-cv-print-area {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    border: none !important;
    box-shadow: none !important;
  }
}

/* ===== UNIVERSITIES SECTION ===== */

/* University Card Hover Micro-Interactions */
.university-card {
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.university-card:hover {
  transform: translateY(-3px);
  box-shadow: 0px 10px 28px rgba(88, 28, 135, 0.10);
  border-color: #7c3aed;
}

/* Timeline Dot Pulse Animation */
.timeline-dot {
  position: relative;
}
.timeline-dot::before {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: inherit;
  opacity: 0.3;
  animation: timelinePulse 2s ease-in-out infinite;
}
@keyframes timelinePulse {
  0%, 100% { transform: scale(1); opacity: 0.3; }
  50% { transform: scale(1.6); opacity: 0; }
}

/* Application Status Badges */
.status-open {
  background-color: #dcfce7;
  color: #166534;
  border: 1px solid #86efac;
}
.status-closed {
  background-color: #fee2e2;
  color: #991b1b;
  border: 1px solid #fca5a5;
}
.status-upcoming {
  background-color: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
}

/* Checklist Item Completion Animation */
.checklist-item {
  transition: all 0.3s ease;
}
.checklist-item.completed {
  opacity: 0.55;
}
.checklist-item.completed .checklist-text {
  text-decoration: line-through;
  text-decoration-color: #94a3b8;
}

/* University Guide Expand/Collapse */
.uni-guide-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
}
.uni-guide-panel.expanded {
  max-height: 2000px;
}

/* NSFAS Accordion Styles */
.nsfas-step {
  transition: all 0.25s ease;
}
.nsfas-step:hover {
  background-color: #faf5ff;
  border-color: #c084fc;
}

/* Fade-in animation for university cards */
@keyframes uniFadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.uni-animate-in {
  animation: uniFadeIn 0.35s ease-out forwards;
}
