/* MetaboBalans Polska - Core Custom Stylesheet */
:root {
  --primary-50: #f0fdf4;
  --primary-100: #dcfce7;
  --primary-200: #bbf7d0;
  --primary-500: #22c55e;
  --primary-600: #16a34a;
  --primary-700: #15803d;
  --primary-800: #166534;
  --primary-900: #14532d;
  --primary-950: #052e16;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Choice card styling */
.quiz-choice-item {
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  user-select: none;
  border-color: #e2e8f0;
}

.quiz-choice-item:hover {
  border-color: #10b981;
  background-color: #f0fdf4;
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.12), 0 8px 10px -6px rgba(16, 185, 129, 0.08);
}

.quiz-choice-item.selected {
  border-color: #059669 !important;
  background-color: #ecfdf5 !important;
  box-shadow: 0 0 0 2px #059669, 0 10px 20px -3px rgba(5, 150, 105, 0.15) !important;
}

.quiz-choice-item.selected .radio-circle {
  border-color: #059669 !important;
  background-color: #059669 !important;
}

.quiz-choice-item.selected .radio-circle i {
  display: block !important;
}

/* Step cards display management */
.step-card {
  display: none;
  animation: fadeInStep 0.35s ease-out forwards;
}

.step-card.active {
  display: block;
}

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

/* Scanner loader animation */
.scan-spinner {
  border: 4px solid #e2e8f0;
  border-top: 4px solid #059669;
  border-radius: 50%;
  animation: spinLoader 0.9s linear infinite;
}

@keyframes spinLoader {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Dot pulse */
.dot-pulse {
  animation: pulseAnim 1.8s infinite;
}

@keyframes pulseAnim {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.2); opacity: 1; box-shadow: 0 0 10px #22c55e; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

/* Button hover & transitions */
.btn-primary-cta {
  background: linear-gradient(135deg, #059669 0%, #047857 100%);
  box-shadow: 0 10px 20px -5px rgba(5, 150, 105, 0.4);
  transition: all 0.25s ease;
}

.btn-primary-cta:hover {
  background: linear-gradient(135deg, #047857 0%, #065f46 100%);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px -5px rgba(5, 150, 105, 0.5);
}

.back-btn-hover:hover {
  background-color: #f1f5f9;
  color: #0f172a;
}

/* Citation & quote box */
.citation-box {
  background: #f8fafc;
  border-left: 4px solid #94a3b8;
}

/* Printable PDF export styles */
@media print {
  aside, header, footer, #cookie-consent-bar, .no-print, button, .quiz-deck-container {
    display: none !important;
  }
  #diagnostic-report-section {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body {
    background: #ffffff !important;
    color: #000000 !important;
  }
}
