/* Typografie angelehnt an HSG-Report (Theinhardt → Lato als freier Webfont-Ersatz) */
body {
  font-family: 'Lato', system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight: 400;
  letter-spacing: 0;
}

/* Headlines im HSG-Stil: Lato durchgängig, kein Serif-Fallback.
   Belt-and-suspenders gegen Tailwind-CDN: !important schützt vor injizierter
   font-serif-Definition (ui-serif, Georgia, Times). */
h1, h2, h3, .font-serif {
  font-family: 'Lato', system-ui, -apple-system, sans-serif !important;
  letter-spacing: -0.005em;
}
h1 { font-weight: 300; }
h2 { font-weight: 400; }
h3 { font-weight: 500; }

h1 { font-weight: 300; }
h2, h3 { font-weight: 400; }

strong, b { font-weight: 700; }

/* Smoothere Focus-Ringe in HSG-Restraint */
button:focus-visible, a:focus-visible {
  outline: 2px solid rgb(6, 95, 70);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Loader-Spin */
@keyframes spin { to { transform: rotate(360deg); } }
.animate-spin { animation: spin 1.1s linear infinite; }

/* Print-friendly Result-Seite */
@media print {
  header, footer, .no-print { display: none !important; }
  body { background: white; }
  main { max-width: none; padding: 0; }
}

/* Subtile Condition-Chip-Transition */
.chip {
  transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}

/* Result-Bild — sanfter Rahmen */
.result-image {
  box-shadow: 0 8px 28px -8px rgba(0, 0, 0, 0.18);
}
