/* ====== style.css ====== */

/* Police Bangers */
@font-face {
  font-family: "Bangers";
  src: url("./Bangers-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Variables reveal.js et palette */
.reveal {
  --slide-width: 960px;
  --slide-height: 700px;

  --r-background-color: #1e81b0;
  --r-main-color: #ffffff;
  --r-heading-color: #ffffff;
  --r-link-color: #ffd166;
  --r-link-color-dark: #e28743;
  --r-selection-background-color: rgba(255,255,255,.2);
}

/* Fond global fiable */
.reveal .slide-background {
  background-color: var(--r-background-color);
}

/* Titres globaux */
.reveal h1,
.reveal h2,
.reveal h3 {
  text-transform: uppercase;
  letter-spacing: 0.01em;
  font-weight: 900;
  text-shadow:
    2px 2px 5px rgba(0, 0, 0, 0.35),
    0 0 2px rgba(0, 0, 0, 0.2);
}

/* Accentuation */
.reveal strong {
  color: #e28743;
}


.reveal section p,
.reveal section li {
  background: rgba(255, 255, 255, 0.85); /* blanc translucide */
  color: #222;                           /* anthracite */
  padding: 0.4em 0.6em;
  border-radius: 6px;
  display: inline-block;                 /* évite que ça prenne toute la largeur */
  margin: 0.2em 0;
}

/* Pour les blocs de code */
.reveal section pre code {
  background: rgba(255, 255, 255, 0.92); /* un peu plus opaque pour lisibilité */
  color: #222;
  padding: 0.8em 1em;
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.25);
}
/* ====== Layout spécifique ====== */

/* Conteneur plein écran pour objectifs */
.reveal section.objectif,
.reveal .objectif {
  min-height: 100vh;             /* occupe toute la slide */
  display: flex;
  flex-direction: column;
  justify-content: left;       /* centre verticalement */
  align-items: center;           /* centre horizontalement */
  gap: 60px;                     /* espace entre objectifs */
}

/* Masquer le titre interne "Les objectifs" */
.reveal section.objectif h1,
.reveal .objectif h1 {
  display: none;
}

/* Cartouche pour chaque objectif */
.reveal section.objectif p,
.reveal .objectif p {
  position: relative;
  display: block;
  margin: 0;                      /* spacing géré par gap */
  padding: 1rem 1.5rem;
  font-size: 2.2rem;
  color: #122;
  max-width: 90%;         
  width: auto;             
  text-align: left;       
  z-index: 0;
}

/* Paragraphe vide = on masque */
.reveal section.objectif p:empty,
.reveal .objectif p:empty {
  display: none;
}

/* Rectangle blanc plus grand que le texte */
.reveal section.objectif p::before,
.reveal .objectif p::before {
  content: "";
  position: absolute;
  inset: -10px -15px;              
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.18);
  z-index: -1;
}


/* Style pour les titres H1 des slides .question */
.reveal section.question h1,
.reveal .question h1 {
  font-family: "Bangers", sans-serif;
  font-size: clamp(2rem, 5.2vw, 4.2rem);  /* taille réduite */
  color: #333333; /* anthracite */
  position: relative;
  padding: 1rem 1.5rem;
  display: inline-block;
  z-index: 0;
}

/* Rectangle blanc derrière le texte */
.reveal section.question h1::before,
.reveal .question h1::before {
  content: "";
  position: absolute;
  inset: -10px -15px;
  background: rgba(255,255,255,0.92);
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.18);
  z-index: -1;
}

.flashcards td {
  border: 2px solid black;
  text-align: center;
  vertical-align: middle;
  padding: 40px;
  font-size: 1.5em;
  font-weight: bold;
}


/* Bloc entier */
.admonition,
.admonition.docutils {
  border: 2px solid #4caf50;
  background: #e8f5e9;
  border-radius: 6px;
  margin: 1em 0;
  padding: 0;
}

/* Titre */
.admonition > .admonition-title,
.admonition.docutils > .admonition-title {
  background: #c8e6c9;
  padding: 0.5em 1em;
  font-weight: bold;
  color: #2e7d32;
  border-bottom: 1px solid #4caf50;
  border-radius: 6px 6px 0 0;
}

/* Corps */
.admonition > *:not(.admonition-title),
.admonition.docutils > *:not(.admonition-title) {
  padding: 1em;
}