.elementor-441 .elementor-element.elementor-element-4dbb5d43{--display:flex;--background-transition:0.3s;}.elementor-441 .elementor-element.elementor-element-f5b9762 > .elementor-widget-container{background-color:#0056A0;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-f5b9762.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-f5b9762{text-align:center;}.elementor-441 .elementor-element.elementor-element-f5b9762 .elementor-heading-title{color:#FFF4E9;font-size:1.6em;font-weight:900;text-transform:uppercase;-webkit-text-stroke-color:#000;stroke:#000;}.elementor-441 .elementor-element.elementor-element-7489907 > .elementor-widget-container{background-color:#F89330;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-7489907.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-7489907{text-align:center;}.elementor-441 .elementor-element.elementor-element-7489907 .elementor-heading-title{color:#FFF4E9;font-size:1.6em;font-weight:bold;text-transform:uppercase;}.elementor-441 .elementor-element.elementor-element-ae9ee5e > .elementor-widget-container{background-color:#FFF4E9;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-ae9ee5e.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-ae9ee5e{text-align:left;}.elementor-441 .elementor-element.elementor-element-ae9ee5e .elementor-heading-title{color:#F89330;font-size:1.4em;font-weight:bold;}.elementor-441 .elementor-element.elementor-element-fe132ae > .elementor-widget-container{background-color:#FFF4E9;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-fe132ae.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-fe132ae{text-align:left;}.elementor-441 .elementor-element.elementor-element-fe132ae .elementor-heading-title{color:#F89330;font-size:1.4em;font-weight:bold;}.elementor-441 .elementor-element.elementor-element-3ff76f5 > .elementor-widget-container{background-color:#F89330;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-3ff76f5.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-3ff76f5{text-align:center;}.elementor-441 .elementor-element.elementor-element-3ff76f5 .elementor-heading-title{color:#FFF4E9;font-size:1.6em;font-weight:bold;text-transform:uppercase;}.elementor-441 .elementor-element.elementor-element-0218106 > .elementor-widget-container{background-color:#FFF4E9;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-0218106.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-0218106{text-align:left;}.elementor-441 .elementor-element.elementor-element-0218106 .elementor-heading-title{color:#F89330;font-size:1.4em;font-weight:bold;}.elementor-441 .elementor-element.elementor-element-26e76be > .elementor-widget-container{background-color:#FFF4E9;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-26e76be.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-26e76be{text-align:left;}.elementor-441 .elementor-element.elementor-element-26e76be .elementor-heading-title{color:#F89330;font-size:1.4em;font-weight:bold;}.elementor-441 .elementor-element.elementor-element-d5dae28 > .elementor-widget-container{background-color:#F89330;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-d5dae28.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-d5dae28{text-align:center;}.elementor-441 .elementor-element.elementor-element-d5dae28 .elementor-heading-title{color:#FFF4E9;font-size:1.6em;font-weight:bold;text-transform:uppercase;}.elementor-441 .elementor-element.elementor-element-6110f55 > .elementor-widget-container{background-color:#FFF4E9;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-6110f55.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-6110f55{text-align:left;}.elementor-441 .elementor-element.elementor-element-6110f55 .elementor-heading-title{color:#F89330;font-size:1.4em;font-weight:bold;}.elementor-441 .elementor-element.elementor-element-5ff42ac > .elementor-widget-container{background-color:#FFF4E9;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-5ff42ac.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-5ff42ac{text-align:left;}.elementor-441 .elementor-element.elementor-element-5ff42ac .elementor-heading-title{color:#F89330;font-size:1.4em;font-weight:bold;}.elementor-441 .elementor-element.elementor-element-596cbe1 > .elementor-widget-container{background-color:#FFF4E9;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-596cbe1.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-596cbe1{text-align:left;}.elementor-441 .elementor-element.elementor-element-596cbe1 .elementor-heading-title{color:#F89330;font-size:1.4em;font-weight:bold;}.elementor-441 .elementor-element.elementor-element-4598fee > .elementor-widget-container{background-color:#FFF4E9;margin:20px 0px 0px 0px;padding:16px 8px 16px 8px;border-radius:5px 5px 5px 5px;}.elementor-441 .elementor-element.elementor-element-4598fee.bdt-background-overlay-yes > .elementor-widget-container:before{transition:background 0.3s;}.elementor-441 .elementor-element.elementor-element-4598fee{text-align:left;}.elementor-441 .elementor-element.elementor-element-4598fee .elementor-heading-title{color:#F89330;font-size:1.4em;font-weight:bold;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(max-width:767px){.elementor-441 .elementor-element.elementor-element-f5b9762 .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-7489907 .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-ae9ee5e .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-fe132ae .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-3ff76f5 .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-0218106 .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-26e76be .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-d5dae28 .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-6110f55 .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-5ff42ac .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-596cbe1 .elementor-heading-title{font-size:1.1em;}.elementor-441 .elementor-element.elementor-element-4598fee .elementor-heading-title{font-size:1.1em;}}/* Start custom CSS */.book {
  max-width: 800px;
  margin: 40px auto;
  background-color: #fff;
  padding: 40px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #ddd;
  line-height: 1.5;
}

/* Style pour chaque chapitre */
.chapter {
  margin-bottom: 60px;
  font-size: 0.95em;
}

.chapter p {
  text-align: justify;
  margin-bottom: 20px;
}

/* Navigation principale */
#resume-vipere-au-poing nav {
  text-align: center;
  margin: 20px 0;
}
#resume-vipere-au-poing nav a {
  color: #0056a0;
  text-decoration: none;
  font-weight: bold;
  margin: 0 10px;
}
#resume-vipere-au-poing nav a:hover {
  text-decoration: underline;
}

.highlight {
  background: #FFF4E9;
  border: 1px solid #F89330;
  font-weight: 700;
  padding: 1.5rem;
  border-radius: 12px;
  margin: 2rem auto; /* Centre horizontalement */
  position: relative;
  transition: transform 0.3s ease;
  font-size: 1.1rem; /* Utilisation d’une taille relative */
  text-align: justify; /* Centre le texte */
  max-width: 80%; /* Évite un bloc trop large sur grand écran */
  width: 100%;
  box-sizing: border-box;
  display: flex;
  text-align: justify;
  flex-direction: column;
  align-items: center;
}

.highlight2 {
  background: #e3f2fd;
  border: 1px solid #0056A0;
  font-weight: 700;
  padding: 1.5rem;
  border-radius: 12px;
  margin: 2rem auto; /* Centre horizontalement */
  position: relative;
  transition: transform 0.3s ease;
  font-size: 1.1rem; /* Utilisation d’une taille relative */
  text-align: justify; /* Centre le texte */
  max-width: 80%; /* Évite un bloc trop large sur grand écran */
  width: 100%;
  box-sizing: border-box;
  display: flex;
  text-align: justify;
  flex-direction: column;
  align-items: center;
}

/* Centrage et taille optimisée de l’icône 💡 */
.highlight::before {
  content: '💡';
  position: absolute;
  left: 50%;
  transform: translateX(-50%); /* Centre horizontalement */
  top: -20px;
  background: #F89330;
  color: white;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  box-shadow: 0 4px 6px rgba(102, 126, 234, 0.2);
}

.highlight2::before {
  content: '📖';
  position: absolute;
  left: 50%;
  transform: translateX(-50%); /* Centre horizontalement */
  top: -20px;
  background: #0056A0;
  color: white;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  box-shadow: 0 4px 6px rgba(102, 126, 234, 0.2);
}

/* Sections */
section {
  margin-bottom: 40px;
}

#resume-vipere-au-poing p {
  margin-bottom: 15px;
  text-align: justify;
  font-size: 0.95em;
  color: #000;
}

#resume-vipere-au-poing li {
  margin-bottom: 5px;
  text-align: justify;
  font-size: 0.95em;
  color: #000;
}

/* Tableaux */
#resume-vipere-au-poing table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

#resume-vipere-au-poing h6 {
  font-size: 0.95em;
}
#resume-vipere-au-poing table, th, td {
  border: 1px solid #ddd;
}
#resume-vipere-au-poing th, td {
  padding: 10px;
  text-align: left;
}
#resume-vipere-au-poing th {
  background: #0056a0;
  color: #fff;
}
/* Images centrées */
#resume-vipere-au-poing img {
  display: block;
  margin: 20px auto;
  border-radius: 30px;
  margin-bottom: 4em;
}

blockquote {
  font-style: italic;
  color: #333;
  font-size: 14px;
  border-left: 5px solid #0056a0;
  padding: 20px;
  margin: 20px auto; /* Centre horizontalement */
  background: #fff;
  border-radius: 10px;
  position: relative;
  border: 2px solid #F89330;
  display: block; /* Assure un bon centrage */
  max-width: 80%;
  text-align: left; /* Centre le texte */
}

blockquote::before {
  content: "“";
  font-size: 90px;
  color: #F89330;
  font-weight: bold;
  position: absolute;
  left: 10px;
  top: -10px;
}

blockquote cite {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  color: #666;
  font-style: normal;
}

/* Conteneur principal de l'accordéon */
#accordion {
  max-width: 800px;
  margin: 0 auto;
  background-color: #fff;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* Introduction */
.intro {
  text-align: justify;
  margin: 15px 0;
}

/* Accordéon item */
.accordion-item {
  margin-top: 10px;
  border-top: 1px solid #ccc;
}

/* Bouton d'en-tête de chaque item */
.accordion-header {
  background-color: #0056a0;
  color: #fff4e9;
  padding: 15px;
  font-size: 1.1em;
  width: 100%;
  border: none;
  outline: none;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

/* Effet au survol et quand actif */
.accordion-header:hover,
.accordion-header.active {
  background-color: #F89330;
}

/* Contenu de l'accordéon, masqué par défaut */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  background-color: #ecf0f1;
  padding: 0 15px;
}

/* Texte à l'intérieur du contenu */
.accordion-content p {
  padding: 15px 0;
  margin: 0;
  text-align: justify;
  text-align: center;
}

/* Tableaux */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}

table h6 {
  font-size: 0.95em;
}
table, th, td {
  border: 1px solid #ddd;
  font-size: 0.95em;
}
th, td {
  padding: 10px;
  text-align: left;
  font-size: 0.95em;
}
th {
  background: #0056a0;
  color: #fff;
  font-size: 0.95em;
}
/* Images centrées */
.aligncenter {
  display: block;
  margin: 20px auto;
}

#resume-vipere-au-poing h4 {
  font-size: 1.2em;
  color: #0056a0;
  letter-spacing: 1px;
  text-align: left;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  position: relative;
  padding-bottom: 0.5em;
}

#resume-vipere-au-poing h5 {
  font-size: 1em;
  color: #0056a0;
  letter-spacing: 1px;
  text-align: left;
  margin-top: 1.2em;
  margin-bottom: 1.2em;
  position: relative;
  padding-bottom: 0.5em;
}

#resume-vipere-au-poing h6 {
  font-size: 1em;
  color: #fff;
  letter-spacing: 1px;
  text-align: left;
  margin-top: 2.5em;
  margin-bottom: 1em;
  position: relative;
  padding-bottom: 0.5em;
  font-style: italic;
}

#resume-vipere-au-poing h4::after {
  content: '';
  position: absolute;
  left: 0%;
  transform: translateX(-5%);
  bottom: 0;
  width: 30%; /* Vous pouvez ajuster la largeur */
  border-bottom: 4px solid #0056a0;
}

.question {
  background-color: #0056a0;
  margin: 10px 0;
  padding: 15px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
.answer {
  display: none;
  padding: 15px;
  margin-top: -10px;
  background-color: #e9e9e9;
  border-radius: 0 0 5px 5px;
}

/* Responsive */
@media (max-width: 768px) {
  body {
    padding: 10px;
  }
  .container {
    padding: 15px;
  }
  nav a {
    display: block;
    margin: 5px 0;
  }

  /* Passez tous les éléments du tableau en mode bloc */
  #tableau-personnages table,
  #tableau-personnages thead,
  #tableau-personnages tbody,
  #tableau-personnages th,
  #tableau-personnages td,
  #tableau-personnages tr {
    display: block;
  }

  /* Masquer l'en-tête du tableau */
  #tableau-personnages thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  /* Style pour chaque ligne du tableau transformée en "carte" */
  #tableau-personnages tr {
    margin-bottom: 1rem;
    border: 1px solid #ddd;
    padding: 10px;
  }

  /* Chaque cellule s'affiche en bloc, et son contenu est centré */
  #tableau-personnages td {
    border: none;
    border-bottom: 1px solid #ddd;
    position: relative;
    padding: 10px 0;
    text-align: center;
  }

  /* Afficher le libellé (issu de l'attribut data-label) en haut et centré */
  #tableau-personnages td::before {
    content: attr(data-label);
    display: block;
    font-weight: bold;
    text-align: center;
    margin-bottom: 5px;
  }

  #resume-chapitre body {
    padding: 15px;
  }

  .book {
    max-width: 90%;
    margin: 20px auto;
    padding: 30px;
  }

  .chapter {
    margin-bottom: 40px;
  }

  .chapter h4 {
    font-size: 1.3em;
    padding-bottom: 8px;
    margin-bottom: 0.8em;
  }

  .chapter p {
    margin-bottom: 15px;
  }

}

@media (max-width: 480px) {
  #resume-chapitre body {
    padding: 10px;
  }

  .book {
    max-width: 100%;
    margin: 2px auto;
    padding: 20px;
  }

  .chapter {
    margin-bottom: 30px;
  }

  .chapter h4 {
    font-size: 1.2em;
    padding-bottom: 5px;
    margin-bottom: 0.6em;
  }

  #resume-vipere-au-poing h4 {
    font-size: 0.95em;
  }

  #resume-vipere-au-poing h5 {
    font-size: 0.95em;
  }
  #resume-vipere-au-poing h6 {
    font-size: 0.9em;
  }

  /* Paragraphes */
  #resume-vipere-au-poing p {
    font-size: 0.9em;
  }

  #resume-vipere-au-poing li {
    font-size: 0.9em;
  }

  .highlight, .highlight2 {
    text-align: center;
    font-size: 0.7em;
    line-height: 1.3;
  }
}/* End custom CSS */