/* Cryptofinances slide layouts: lists, images, and boxes stay in the normal flow. */

.reveal section[data-state="formalisation"] .spaced-list li,
.reveal section[data-state="assistants-de-preuve"] .spaced-list li {
  margin-bottom: 0.7em;
}

.reveal section[data-state="lean-mathlib"] .spaced-list li {
  margin-bottom: 0.25em;
}

.reveal section[data-state="formalisation"] .spaced-list li:last-child,
.reveal section[data-state="assistants-de-preuve"] .spaced-list li:last-child,
.reveal section[data-state="lean-mathlib"] .spaced-list li:last-child {
  margin-bottom: 0;
}

.reveal p.formalization-image-small {
  display: flex;
  justify-content: center;
  margin: 1em 0 0.4em;
}

.reveal p.formalization-image-small img {
  width: min(80vw, 1050px);
  max-width: 100%;
  max-height: 34vh;
  object-fit: contain;
  border: 1px solid var(--border-code);
  background: #ffffff;
}

.reveal p.formalization-caption {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.72em;
  font-style: italic;
  text-align: center;
}

/* The two boxes share the last row of a two-column grid, below the full-width list. */
.reveal section[data-state="lean-mathlib"] {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  column-gap: 3vw;
  align-content: start;
}

.reveal section[data-state="lean-mathlib"] > :not(.example-box) {
  grid-column: 1 / -1;
}

.reveal p.example-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
  min-height: 5.2em;
  margin: 1em 0 0;
  padding: 0.5em 1em;
  border: 2px solid var(--lean-teal);
  border-radius: 6px;
  background: #ecfeff;
  font-size: 0.8em;
  text-align: center;
}

/* Section dividers: only the heading, centred on the slide. */
.reveal section:is([data-state="section-formalisation"], [data-state="section-formaliser"],
    [data-state="section-ia"], [data-state="section-autoformalisation"]) {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.reveal section:is([data-state="section-formalisation"], [data-state="section-formaliser"],
    [data-state="section-ia"], [data-state="section-autoformalisation"]) h2 {
  margin: 0;
  font-size: 1.9em;
  font-weight: 600;
  line-height: 1.25;
}

/* These lists are spread evenly over the slide below its title. */
.reveal section:is([data-state="pourquoi-formaliser"], [data-state="trois-facons"],
    [data-state="apprendre"], [data-state="setup-ia"],
    [data-state="autoformalisation"], [data-state="verification"],
    [data-state="confiance-llm"], [data-state="armstrong"],
    [data-state="comparator"], [data-state="collaboratif"]) {
  display: flex !important;
  flex-direction: column;
}

.reveal section:is([data-state="pourquoi-formaliser"], [data-state="trois-facons"],
    [data-state="apprendre"], [data-state="setup-ia"],
    [data-state="autoformalisation"], [data-state="verification"],
    [data-state="confiance-llm"], [data-state="armstrong"],
    [data-state="comparator"], [data-state="collaboratif"]) .spaced-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  padding-bottom: 4vh;
}

.reveal section:is([data-state="pourquoi-formaliser"], [data-state="trois-facons"],
    [data-state="apprendre"], [data-state="setup-ia"],
    [data-state="autoformalisation"], [data-state="verification"],
    [data-state="confiance-llm"], [data-state="armstrong"],
    [data-state="comparator"], [data-state="collaboratif"]) .spaced-list li {
  margin: 0;
}

/* A denser slide: an example, two short paragraphs, and a list. */
.reveal section[data-state="filtres"] p,
.reveal section[data-state="filtres"] ul {
  font-size: 0.84em;
  line-height: 1.5;
}

.reveal section[data-state="filtres"] h2 {
  margin-bottom: 0.8em;
}

.reveal section[data-state="filtres"] p {
  margin: 0.45em 0;
}

.reveal section[data-state="filtres"] p + p {
  margin-top: 0.7em;
}

.reveal section[data-state="filtres"] ul {
  margin-top: 0.65em;
}

.reveal section[data-state="filtres"] li {
  margin-bottom: 1.2em;
}

/* The quotations are centred vertically below a title kept at the top. */
.reveal section[data-state="scholze"],
.reveal section[data-state="armstrong-prompt"] {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  padding-top: 12vh;
  padding-bottom: 6vh;
}

.reveal section[data-state="scholze"] h2,
.reveal section[data-state="armstrong-prompt"] h2 {
  position: absolute;
  top: 2vh;
  left: 3vw;
  right: 3vw;
  margin: 0;
}

.reveal section[data-state="scholze"] blockquote,
.reveal section[data-state="armstrong-prompt"] blockquote {
  margin: 1em 0;
}

/* The take-away of the Comparator slide, highlighted below its list. */
.reveal p.key-point {
  margin: 0.6em 5vw 0 0;
  font-size: 0.82em;
  padding: 0.5em 1em;
  border: 2px solid var(--lean-teal);
  border-radius: 6px;
  background: #ecfeff;
}
