/* Kurs-spezifische Folien-Bausteine: Informationsvisualisierung und Visual Analytics (IVVA).
   Einbinden nach shared/slides.css: <link rel="stylesheet" href="../ivva.css"> */

/* Zitat-Folien */
.reveal blockquote.quote {
  width: 82%; margin: 0.6em auto 0.3em; padding: 0.6em 1em; font-size: 26px; line-height: 1.45;
  font-style: italic; text-align: left; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: none;
}
.reveal blockquote.quote .who { display: block; margin-top: 0.5em; font-style: normal; font-size: 17px; color: #475569; }

/* Bildraster mit Bildunterschriften */
.img-grid { display: grid; gap: 0.5em; align-items: center; justify-items: center; }
.img-grid.c2 { grid-template-columns: repeat(2, 1fr); }
.img-grid.c3 { grid-template-columns: repeat(3, 1fr); }
.reveal .img-grid figure { margin: 0; text-align: center; }
.reveal .img-grid img { display: block; margin: 0 auto !important; max-width: 100%; height: auto; object-fit: contain; border-radius: 4px; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18); }
.reveal .img-grid figcaption { font-size: 13px; color: #64748b; margin-top: 0.25em; }
.reveal .img-grid figcaption a { color: #64748b; }
.reveal .img-grid.flat img { box-shadow: none; border-radius: 0; }

/* Datentabellen (Anscombe) */
.data-tables { display: flex; gap: 0.8em; justify-content: center; align-items: flex-start; }
.reveal .data-tables table { border-collapse: collapse; font-size: 13px; margin: 0; }
.reveal .data-tables caption { font-weight: 700; color: #3b5a96; font-size: 16px; padding-bottom: 0.2em; }
.reveal .data-tables th { background: #3b5a96; color: #fff; padding: 2px 12px; border: none; }
.reveal .data-tables td { padding: 1px 12px; border: none; border-bottom: 1px solid #e2e8f0; text-align: right; font-variant-numeric: tabular-nums; }
.stats { display: flex; gap: 0.6em; justify-content: center; margin-top: 0.6em; }
.stats .badge { font-size: 15px; padding: 3px 12px; }

/* Streudiagramme */
.plot-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.5em; }
.plot svg { width: 100%; height: auto; display: block; }
.plot .pt-title { font-weight: 700; color: #3b5a96; font-size: 17px; }

/* Ablauf Daten → Bild → Mensch */
.flow { display: flex; align-items: center; justify-content: center; gap: 0.6em; margin-top: 0.6em; }
.reveal .flow img { height: 230px; width: auto; margin: 0 !important; }
.flow svg { height: 230px; width: auto; }
.flow .arrow { font-size: 40px; color: #94a3b8; }

/* Begriffsbaum Visualisierung */
.term-tree svg { width: 640px; max-width: 100%; height: auto; margin-top: 0.4em; }

/* Modul-Grafik Prüfungsleistung */
.module { display: inline-block; background: #f1f5f9; border: 1px solid #cbd5e1; border-radius: 10px; padding: 0.4em 0.7em 0.6em; margin-bottom: 0.6em; }
.module .m-title { font-size: 14px; color: #475569; font-style: italic; text-align: left; margin-bottom: 0.3em; }
.module .m-items { display: flex; gap: 0.6em; }
.module .m-item { background: #fff; border: 1.5px solid #cbd5e1; border-radius: 8px; padding: 0.3em 0.8em; font-size: 17px; font-weight: 600; color: #1e293b; }
.module .m-item.current { border-color: #3b5a96; color: #3b5a96; background: #eef2f9; }

/* Datenmengen-Leiter: breitere Jahresspalte als die Standard-Zeitleiste */
.reveal ul.timeline.scale::before { left: 194px; }
.reveal ul.timeline.scale li::after { left: 188px; }
.reveal ul.timeline.scale .tl-year { flex-basis: 172px; }
.reveal ul.timeline.scale li { font-size: 17px; margin-bottom: 10px; }
.reveal ul.timeline.scale .tl-text { color: #334155; }

/* Inline-SVG-Diagramme im Bildraster */
.reveal .img-grid figure { width: 100%; }
.reveal .img-grid figure > svg { display: block; width: 100%; height: auto; }
