/* Base styles */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
}

/* Animations */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-up {
  animation: fade-up 0.6s ease-out both;
}

/* Scrollbar hide for nav */
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Connector card styles */
.connector-card {
  transition: all 0.2s ease;
}

.connector-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px -5px rgba(0,0,0,0.1);
}

/* Badge styles */
.badge-essentiel {
  background: #fee2e2;
  color: #b91c1c;
}

.badge-utile {
  background: #dbeafe;
  color: #1d4ed8;
}

.badge-avance {
  background: #f3e8ff;
  color: #7c3aed;
}

/* Table styles */
#summaryTable tbody tr:nth-child(even) {
  background: #f8fafc;
}

#summaryTable tbody tr:hover {
  background: #eff6ff;
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
}

/* Active nav pill */
.nav-pill.active {
  background: #facc15 !important;
  color: #0f2557 !important;
  font-weight: 700;
}

/* PDF loading state */
.pdf-loading {
  opacity: 0.7;
  pointer-events: none;
}

/* Print styles */
@media print {
  .sticky, footer, #quickNav, button {
    display: none !important;
  }
  section {
    break-inside: avoid;
  }
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .connector-card .connector-example {
    font-size: 0.8125rem;
  }
}