/**
Theme Name: PPNET-V2
Author: Franck Pasquet
Author URI: https://franckpasquet.com
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: PPNET-V2
Template: astra
*/

/* Variables de thème PenseePositive.NET */
:root {
  /* Couleurs de base */
  --ppn-bg: #F9FCFA;
  --ppn-text-primary: #333333;
  --ppn-text-secondary: #555555;
  --ppn-border: #DCE8E1;
  --ppn-shadow: 0 10px 30px rgba(0,0,0,0.05);
  --ppn-radius: 12px;
  --ppn-font: "Figtree", sans-serif;

  /* Palette Verte (Croissance) */
  --ppn-green: #4FC57D;
  --ppn-green-soft: #98D5A1;
  --ppn-green-dark: #2F6D4B;

  /* Palette Orange (Accent) */
  --ppn-accent: #FF9E4A;
  --ppn-accent-hover: #FF7C00;

  /* Bloc Info (Bleu) */
  --ppn-info-bg: #F4F8FB;
  --ppn-info-border: #C9E1EE;
  --ppn-info-accent: #5CB8E6;
  --ppn-info-text: #3178A3;
  --ppn-info-hover: #245D82;

  /* Thèmes Spécifiques */
  --pp-primary: #D7F1DF;
  --pp-accent: #FF8C94;
  --pp-highlight: #FFE066;
}

/* Fix zoom Gutenberg */
body.block-editor-page {
  zoom: 90%;
}

/* =====================================================
   📊 BARRE DE PROGRESSION DE LECTURE
   ===================================================== */
#reading-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  height: 4px;
  background: linear-gradient(90deg, var(--ppn-green) 0%, var(--ppn-accent) 50%, var(--pp-accent) 100%);
  z-index: 99999;
  transition: width 0.1s ease-out;
  box-shadow: 0 0 10px rgba(79, 197, 125, 0.5);
}

/* Script inline pour le fonctionnement (à ajouter dans functions.php ou via un plugin) */
/*
<div id="reading-progress-bar"></div>
<script>
document.addEventListener('DOMContentLoaded', function() {
  const progressBar = document.getElementById('reading-progress-bar');
  if (!progressBar || !document.body.classList.contains('single-post')) return;
  
  window.addEventListener('scroll', function() {
    const scrollTop = window.scrollY;
    const docHeight = document.documentElement.scrollHeight - window.innerHeight;
    const progress = (scrollTop / docHeight) * 100;
    progressBar.style.width = progress + '%';
  });
});
</script>
*/

/* =====================================================
   🖼️ LAZY LOAD FADE-IN IMAGES
   ===================================================== */
/* Images visibles par défaut (safe) */
.entry-content img,
.wp-block-image img {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Animation seulement si JS ajoute la classe .animate-image */
.entry-content img.animate-image,
.wp-block-image img.animate-image {
  opacity: 0;
  transform: translateY(20px);
}

/* État visible après observation */
.entry-content img.animate-image.is-visible,
.wp-block-image img.animate-image.is-visible {
  opacity: 1;
  transform: translateY(0);
}


/* =====================================================
   💬 CITATIONS ANIMÉES (Typing Effect)
   ===================================================== */
.wp-block-quote.typing-effect {
  position: relative;
  overflow: hidden;
}

.wp-block-quote.typing-effect p {
  display: inline;
  overflow: hidden;
  white-space: nowrap;
  border-right: 3px solid var(--ppn-green);
  animation: typing 3s steps(40, end), blink-caret 0.75s step-end infinite;
}

@keyframes typing {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes blink-caret {
  from, to { border-color: transparent; }
  50% { border-color: var(--ppn-green); }
}

/* Version alternative : Fade-in révélation (plus universelle) */
.wp-block-quote {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.wp-block-quote.is-visible {
  opacity: 1;
  transform: translateX(0);
}

/* No selection was provided, so I will generate a code snippet that can be inserted at the cursor position. */


/* Example of a responsive container with improved accessibility */
.responsive-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  background-color: #f2f2f2;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* Improved typography */
.responsive-container h2 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
}

/* Enhanced button styles */
.responsive-container .button {
  background-color: #4CAF50;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

/* Improved hover and focus states */
.responsive-container .button:hover,
.responsive-container .button:focus {
  background-color: #3e8e41;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Enhanced accessibility for screen readers */
.responsive-container .button::before {
  content: "Button";
  font-size: 1rem;
  font-weight: bold;
  position: absolute;
  top: -1000px;
  left: -1000px;
  z-index: -1;
}


a {
  font-weight: bold;
 
}


/* Liens texte dans le contenu, hors boutons */
.ast-single-post .entry-content a:not(.wp-block-button__link):not(.tcb-button-link):not(.button) {
  font-weight: bold;
  color:#ff7c00;
}

.ast-single-post .entry-content a:not(.wp-block-button__link):not(.tcb-button-link):not(.button):hover {
  font-weight: bold;
  color:#FF9E4A;
}


ul {
  list-style-type: disc;
  margin-top: 8px!important;
}
li {
margin-left: 16px !important;
margin-bottom: 16px !important;
}

ol {
margin-left: 0px !important;
}

/* lecteur audio */
audio{
  display: block;
  margin: 20px 0;
  width: 100%;
  max-width: 400px;
  background-color: #D7F1DF;
  /*Tacouleurprincipale*/padding: 15px;
  border-radius:50px;
  -webkit-border-radius:50px;
  -moz-border-radius:50px;
  -ms-border-radius:50px;
  -o-border-radius:50px;
}

.custom-audio-player audio {
  width: 100%;
  outline: none;
  border-radius: 8px;
}
.post-modified-info {
  font-size: 16px;
  margin-bottom: 32px;
}

/* listes */

.wp-block-list{
  margin-left: 8px !important;
}

.no-bullet {
  list-style: none; /* Supprime les puces */
  padding-left: 0; /* Supprime l'indentation par défaut */
  margin-left: 0; /* Supprime la marge gauche si nécessaire */
}



/* menu alphabetique pour les mots positifs */

.alphabet-intro {
  text-align: center;
  font-size: 1.1em;
  margin-bottom: 10px;
  color: #333; /* Couleur douce pour bien contraster avec le bandeau */
}
.alphabet-banner {
  text-align: center;
  margin: 20px 0;
}

.alphabet-banner a {
  text-decoration: none!important;
  color: #008D7D; /* Bleu pour les liens, ou une couleur de ton choix */
  margin: 0 5px;
  font-weight: bold;
}

.alphabet-banner a:hover {
  color: #00695D; /* Couleur plus foncée quand le lien est survolé */
  text-decoration: underline!important;
}
.current-letter {
  color: #ff6347!important; /* Couleur différente pour la lettre courante */
  pointer-events: none; /* Pour rendre le lien non cliquable */
  text-decoration: underline!important;
}

 
  
 */
/* bouton de partage social */

.social ul {
  list-style: none; /* Enlève le style de puce par défaut */
  padding-left: 0; /* Enlève l'indentation par défaut */
  margin-left: 0!important; /* Enlève les marges à gauche */
  margin-right: 0!important; /* Enlève les marges à droite */
}

.social ul li {
  position: relative; /* Nécessaire pour positionner l'emoji */
  padding-left: 0em; /* Crée un espace pour l'emoji */
  margin-left: 0!important; /* Enlève les marges à gauche */
  margin-right: 0!important; /* Enlève les marges à droite */
}

.social ul li:before {
  content: ""; /* Ajoute l'emoji */
  position: absolute; /* Positionne l'emoji par rapport au li */
  left: 0; /* Positionne l'emoji à gauche */
  top: 0.1em; /* Ajuste verticalement pour aligner avec le texte */
  font-size: 1.2em; /* Assure que la taille de l'emoji s'ajuste en fonction de la taille du texte */
  line-height: 1; /* Ajuste la hauteur de ligne pour centrer l'emoji */
}


/* cards pour liste d'article dans les catégories par exemple */
.ast-separate-container .ast-article-inner {
    background-color: #fff;
    background-image: none;
}




.wp-block-button .wp-block-button__link
{  
box-shadow: 0 10px 15px rgba(232, 106, 2, 0.04) !important;
margin-bottom: 32px;
}

/* .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  margin-bottom: 8px !important;
} */

/* .ast-separate-container .ast-article-post, .ast-separate-container .ast-article-single {
  padding-top : 16px !important;
  padding-left: 16px !important;
  padding-right: 16px !important
} */



.ast-related-post-content {
  font-family: Quicksand;
  font-weight: 600;
}

/* =====================================================
   🎯 ARTICLES LIÉS - YARPP (Sexy Edition)
   ===================================================== */
.yarpp-related {
  background: rgba(215, 241, 223, 0.2); /* Fond vert très léger */
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 20px;
  padding: 2.2rem;
  margin: 4rem 0;
  box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}

.yarpp-related h3 {
  font-family: var(--ppn-font);
  font-weight: 800;
  font-size: 1.5rem;
  letter-spacing: -0.02em;
  color: var(--ppn-green-dark);
  margin-bottom: 1.8rem;
  display: flex !important;
  align-items: center;
  gap: 0.8rem;
}

.yarpp-related h3::before {
  content: "✨";
  font-size: 1.3rem;
  filter: drop-shadow(0 2px 4px rgba(79, 197, 125, 0.3));
}

.yarpp-related ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

.yarpp-related li {
  background: #ffffff;
  border-radius: 16px;
  padding: 0 !important;
  margin: 0 !important;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 6px 15px rgba(0,0,0,0.03);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.04);
  display: flex;
  position: relative;
}

.yarpp-related li a {
  display: flex;
  align-items: center;
  padding: 1.2rem 1.5rem;
  width: 100%;
  color: var(--ppn-text-primary);
  text-decoration: none !important;
  font-weight: 600;
  font-size: 1.08rem;
  line-height: 1.45;
  background: transparent !important;
  background-image: none !important; /* Retire le soulignement custom de PPN */
}

/* Hover Effects & Rainbow Auras */
.yarpp-related li:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 15px 35px rgba(0,0,0,0.08);
  z-index: 2;
}

/* Attribution des couleurs d'aura */
.yarpp-related li:nth-child(5n+1):hover { border-bottom: 4px solid #4FC57D; } /* Vert */
.yarpp-related li:nth-child(5n+2):hover { border-bottom: 4px solid #FF9E4A; } /* Orange */
.yarpp-related li:nth-child(5n+3):hover { border-bottom: 4px solid #FF8C94; } /* Rose */
.yarpp-related li:nth-child(5n+4):hover { border-bottom: 4px solid #5CB8E6; } /* Bleu */
.yarpp-related li:nth-child(5n+5):hover { border-bottom: 4px solid #FFE066; } /* Or */

.yarpp-related li:hover a {
  color: var(--ppn-green-dark);
}

/* Animation de la flèche au hover */
.yarpp-related li a::after {
  content: "→";
  margin-left: auto;
  opacity: 0;
  transform: translateX(-15px);
  transition: all 0.4s ease;
  color: var(--ppn-green);
  font-weight: 800;
  font-size: 1.2rem;
}

.yarpp-related li:hover a::after {
  opacity: 1;
  transform: translateX(0);
}

/* Tablette / Mobile adjustments */
@media (max-width: 600px) {
  .yarpp-related { padding: 1.5rem; }
  .yarpp-related ul { grid-template-columns: 1fr; }
}


.menu-highlight {
  border: 2px solid #4cc8e0;
  border-radius: 5px;
  background-color: #4cc8e0;
  color: white;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

.menu-highlight a {
  color: white;
  font-weight: 900;
}

.menu-highlight:hover {
  color: white;
  font-weight: 500;
}

.menu-cta {
  background-color: #FFB703 !important;
  /*Couleurdefond*/color: #ffffff !important;
  /*Couleurdutexte*/padding: 10px 20px;
  /*Paddingautourdutexte*/border-radius: 5px;
  /*Bordsarrondis*/transition: background-color 0.3s;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  -ms-transition: background-color 0.3s;
  -o-transition: background-color 0.3s;
}

.menu-cta:hover {
  background-color: #FB8500 !important; /* Couleur de fond au survol */
}



.header-flex-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between!important;
  align-items: center;
  background-color: #D7F1DF;
  padding: 10px 20px; /* Ajuste si besoin */
}

/* Animation Pulse Doux */
@keyframes pulse {
  0% { transform: scale(1); -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); }
  50% { transform: scale(1.03); -webkit-transform: scale(1.03); -moz-transform: scale(1.03); -ms-transform: scale(1.03); -o-transform: scale(1.03); }
  100% { transform: scale(1); -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); }
}

/* Animation Shimmer */
@keyframes shimmer {
  0% { transform: translateX(-150%) skewX(-25deg); }
  50% { transform: translateX(150%) skewX(-25deg); }
  100% { transform: translateX(150%) skewX(-25deg); }
}

.cta-button-top {
  position: relative;
  overflow: hidden;
  animation: pulse 3s ease-in-out infinite;
  transition: all 0.3s;
  display: inline-block;
  background-color: #FF7C4C;
  color: #ffffff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 100px;
  font-weight: bold;
}

.cta-button-top::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent 30%,
    rgba(255, 255, 255, 0.3) 50%,
    transparent 70%
  );
  animation: shimmer 4s infinite;
}


.cta-button-top a{
  margin-left: 0px;
  color: #ffffff;
}

.cta-button-top:hover{
  background-color:#f8703e ;
    color: #ffffff;

}
/*.cta-button:hover {
  animation: none;
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 102, 0, 0.3);
  background-color: #F8703E;
  color: #ffffff;
  -webkit-transform: scale(1.05) translateY(-2px);
  -moz-transform: scale(1.05) translateY(-2px);
  -ms-transform: scale(1.05) translateY(-2px);
  -o-transform: scale(1.05) translateY(-2px);
}
/* Conteneur qui centre le bouton */
.cta-button {
  display: flex;
  justify-content: center;
  margin: 24px 0;
}

/* Le lien stylé comme un vrai bouton */
.cta-button a {
  animation: pulse 3s ease-in-out infinite;
  background-color: #FF7C4C;
  color: #ffffff !important;
  padding: 14px 28px;
  display: inline-block;
  text-align: center;
  text-decoration: none !important;
  border-radius: 100px;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

/* Hover */
.cta-button a:hover {
  background-color: #f8703e;
  color: #ffffff !important;
  text-decoration: none !important;
}

/*.cta-button:hover {
  animation: none;
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 8px 20px rgba(255, 102, 0, 0.3);
  background-color: #F8703E;
  color: #ffffff;
  -webkit-transform: scale(1.05) translateY(-2px);
  -moz-transform: scale(1.05) translateY(-2px);
  -ms-transform: scale(1.05) translateY(-2px);
  -o-transform: scale(1.05) translateY(-2px);
}
*/
/* animation énergétique btn quiz vampire */
.quiz-button-mystique {
  background: linear-gradient(135deg, #FFE066, #FF8C94);
  color: white;
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 600;
  border: none;
  border-radius: 999px;
  padding: 16px 32px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.6s ease;
  -webkit-transition: transform 0.3s ease, box-shadow 0.6s ease;
  -moz-transition: transform 0.3s ease, box-shadow 0.6s ease;
  -ms-transition: transform 0.3s ease, box-shadow 0.6s ease;
  -o-transition: transform 0.3s ease, box-shadow 0.6s ease;
}

.quiz-button-mystique::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 224, 102, 0.5) 0%, rgba(255, 224, 102, 0) 70%);
  animation: portailWave 5s infinite ease-in-out;
  z-index: 0;
  -webkit-animation: portailWave 5s infinite ease-in-out;
}

.quiz-button-mystique:hover {
  transform: scale(1.05);
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.4);
  cursor: pointer;
  -webkit-transform: scale(1.05);
  -moz-transform: scale(1.05);
  -ms-transform: scale(1.05);
  -o-transform: scale(1.05);
}
/* lexique */
/* Couleurs PenseePositive.NET */
:root {
  --pp-primary: #D7F1DF;
  --pp-accent: #FF8C94;
  --pp-highlight: #FFE066;
}

/* Fond général */
body.page-id-123 { /* remplace 123 par l'ID de la page Lexique */
  background-color: var(--pp-primary);
}

/* === Champ de recherche Lexique === */
.search-wrapper {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 2em auto;
  padding: 0 1em;
}

/* Loupe corrigée */
.icon-loupe {
  position: absolute;
  left: 32px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em;
  color: #007B7F;
  pointer-events: none;
  transition: left 0.4s cubic-bezier(.8,-0.6,0.2,1.5);
  -webkit-transition: left 0.4s cubic-bezier(.8,-0.6,0.2,1.5);
  -moz-transition: left 0.4s cubic-bezier(.8,-0.6,0.2,1.5);
  -ms-transition: left 0.4s cubic-bezier(.8,-0.6,0.2,1.5);
  -o-transition: left 0.4s cubic-bezier(.8,-0.6,0.2,1.5);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}

/* Champ de recherche */
#searchLexique {
  width: 100%;
  padding: 0.85em 1em 0.85em 2.7em;
  border: none;
  border-radius: 12px;
  background-color: #D7F1DF;
  font-size: 1.05em;
  outline: none;
  box-sizing: border-box;
  transition: box-shadow 0.4s cubic-bezier(.8,-0.6,0.2,1.5), background 0.3s;
  box-shadow: 0 0 0 0 #D7F1DF;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  -ms-border-radius: 12px;
  -o-border-radius: 12px;
  -webkit-transition: box-shadow 0.4s cubic-bezier(.8,-0.6,0.2,1.5), background 0.3s;
  -moz-transition: box-shadow 0.4s cubic-bezier(.8,-0.6,0.2,1.5), background 0.3s;
  -ms-transition: box-shadow 0.4s cubic-bezier(.8,-0.6,0.2,1.5), background 0.3s;
  -o-transition: box-shadow 0.4s cubic-bezier(.8,-0.6,0.2,1.5), background 0.3s;
}

/* Focus style */
#searchLexique:focus {
  background: #fff;
  box-shadow: 0 0 0 4px #D7F1DF, 0 8px 24px -6px #B2D9C2;
}

/* Animation loupe */
#searchLexique:focus + .icon-loupe,
#searchLexique:not(:placeholder-shown) + .icon-loupe {
  left: 90%;
  color: #FF8C94;
}

/* Placeholder fade */
#searchLexique:focus::placeholder {
  opacity: 0.3;
  transition: opacity 0.35s;
  -webkit-transition: opacity 0.35s;
  -moz-transition: opacity 0.35s;
  -ms-transition: opacity 0.35s;
  -o-transition: opacity 0.35s;
}




/* Style des blocs de définition */
dl {
  background: #F7FCF9;
  /*ou#D7F1DFà6-10%d’opacitésituutilisesrgba*/border-radius: 10px;
  padding: 1.25em 1em;
  margin-bottom: 2em;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

dl dt {
  font-weight: 700;
  color: #1a1a1a;
  position: relative;
  margin-bottom: 0.5rem;
  transition: transform 0.2s ease;
  -webkit-transition: transform 0.2s ease;
  -moz-transition: transform 0.2s ease;
  -ms-transition: transform 0.2s ease;
  -o-transition: transform 0.2s ease;
}

dl dt:hover {
  transform: scale(1.02);
  color: var(--pp-accent);
  -webkit-transform: scale(1.02);
  -moz-transform: scale(1.02);
  -ms-transform: scale(1.02);
  -o-transform: scale(1.02);
}

dl dd {
  margin-left: 1rem;
  line-height: 1.6;
}
/* section garde la gouttière de 80px */
section[id] {
  position: relative;
  margin-left: 80px;
  overflow: visible;
}

/* lettre totem géante */
.lettre-totem {
  position: relative;
  font-size: 1px;
  color: transparent;
  overflow: visible;
  margin: .5em 0 .8em;
  line-height: 0;
}

.lettre-totem::before {
  content: attr(data-letter);
  position: absolute;
  left: -80px;
  top: 0;
  font-size: 5rem;
  line-height: 1;
  color: var(--pp-primary);
  opacity: .65;
  font-weight: 900;
  pointer-events: none;
}


/* menu A à Z */

.sticky-az {
  position: sticky;
  top: 80px; /* ajuste selon la hauteur de ton menu */
  background: #D7F1DF;
  z-index: 1000;
  padding: 1em;
  margin: 1em 0;
  border-radius: 12px;
  text-align: center;
}

.sticky-az a {
  margin: 0 0.4em;
  text-decoration: none;
  font-weight: 600;
  color: #007B7F;
  font-size: 1rem;
}

.sticky-az a:hover {
  color: #FF8C94;
}


@keyframes portailWave {
  0% {
    transform: scale(0.8);
    opacity: 0.7;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.2;
  }
  100% {
    transform: scale(0.8);
    opacity: 0.7;
  }
}

#hero-cta-button {
  animation: pulse 3s ease-in-out infinite;
  transition: all 0.3s;
  -webkit-animation: pulse 3s ease-in-out infinite;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
}
.quiz-btn-animation {
  animation: pulse 3s ease-in-out infinite;
  transition: all 0.3s;
  -webkit-animation: pulse 3s ease-in-out infinite;
}

/* Style de base pour les boutons test vampire psychique */
/* Style de base pour le bouton */
#button-vampire {
  position: relative;
  background-color: #4A1C5E; /* Violet Profond */
  color: #F5F5F5; /* Blanc Cassé */
  border: none;
  padding: 15px 30px;
  font-size: 18px;
  border-radius: 5px;
  cursor: pointer;
  overflow: hidden; /* Cache les particules qui débordent */
  z-index: 1;
}

#particles-js {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; /* Place les particules derrière le bouton */
  pointer-events: none; /* Empêche les clics sur les particules */
}

#smiley {
  /*color: rgb(255, 242, 1); */
  font-weight: 900;
  font-size: 1.2rem;
}

img {
  max-width: 100%;
  height: auto;
}



.wp-block-image img {
  /* box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12),
    0 2px 4px -1px rgba(0, 0, 0, 0.2); */
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  margin-right: 16px;
  margin-left: 16px;

}



.post-thumb img {
  /* box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12),
    0 2px 4px -1px rgba(0, 0, 0, 0.2); */
  margin: 0 auto;
  display: block;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;

}

.post-thumb-img-content {
  margin-right: 8px;
}

.post-thumb-img-content post-thumb {
  margin-top: 18px;
}

.myButton {
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
  background-color: #ffb703 !important;
  border-radius: 5px;
  display: inline-block;
  cursor: pointer;
  color: #ffffff;
  font-family: Quicksand;
  font-weight: 700;
  font-size: 24px;
  padding: 18px 31px;
  margin-bottom: 32px;
  text-align: center;
  text-decoration: none;
  text-transform:uppercase;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

.myButton .fa-smile {
  font-size: 30px;
}
.myButton:hover {
  background-color: #fb8500 !important;
}

a.myButton {
  color: #ffffff !important;
  text-decoration: none !important;
}
a.myButton:hover {
  color: #ffffff !important;
  text-decoration: none !important;
}
.myButton:active {
  position: relative;
  top: 1px;
}

.entry-title {
  margin-top: 16px;
  font-size: 34px;
  font-weight: 600;
}




.ast-pagination a {
  color: #ffffff;
}

.page-numbers {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12),
    0 2px 4px -1px rgba(0, 0, 0, 0.2);
  background-color: #fb8500;
  color: #ffffff;
  border-radius: 5px !important;
  -webkit-border-radius: 5px !important;
  -moz-border-radius: 5px !important;
  -ms-border-radius: 5px !important;
  -o-border-radius: 5px !important;
}

.page-link,
.ast-pagination .page-numbers.current {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12),
    0 2px 4px -1px rgba(0, 0, 0, 0.2);
  color: #ffffff;
  background-color: #ffb703;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

content-area primary {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}


/* .wp-block-image .aligncenter, .wp-block-image .alignleft, .wp-block-image .alignright, .wp-block-image.aligncenter, .wp-block-image.alignleft, .wp-block-image.alignright {
  display: table;
  margin-bottom: 32px;
} */

.ast-builder-menu-1 .main-header-menu,
.ast-builder-menu-1 .main-header-menu .sub-menu {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

#ast-hf-menu-1 {
height: 48px;
}

/* emojis */

img.emoji {
  height: 1em;
  width: 1em;
}
/* bouton de CTA dans les articles */
.cta-btn-article {
  display: flex;
  justify-content: center;
}

/* navigation page précédente et page suivante */

.page-links .page-link,
.single .post-navigation a {
  color: #ffffff !important;
}
.single .post-navigation .nav-links a {
  display: flex;
  /*Utiliseflexboxpouralignerleséléments*/justify-content: center;
  /*Centrelecontenuhorizontalement*/align-items: center;
  /*Centrelecontenuverticalement*/box-shadow: 0 10px 15px rgba(2, 182, 232, 0.04);
  background-color: #6bbf8e !important;
  border-radius: 100px;
  cursor: pointer;
  color: #ffffff;
  font-family: Figtree;
  font-weight: 500;
  font-size: 24px;
  text-align: center;
  text-decoration: none;
  padding: 8px 16px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  -ms-border-radius: 100px;
  -o-border-radius: 100px;
}
.single .post-navigation .nav-links a:hover {
  box-shadow: 0 10px 15px rgba(2, 182, 232, 0.04);
  background-color: #589f76 !important;
  border-radius: 100px;
  cursor: pointer;
  color: #ffffff;
  font-family: Figtree;
  font-weight: 500;
  font-size: 24px;
  text-align: center;
  text-decoration: none;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  -ms-border-radius: 100px;
  -o-border-radius: 100px;
}

/* breadcrumbs */

.ast-breadcrumbs-wrapper {
  margin-bottom: 24px;
}

/* cacher heure et date */

.ast-comment-meta .ast-comment-time .timendate time {
  display: none !important;
  background-color: crimson;
}

.page-404-content {
  max-width: 1200px;
  margin: auto;
  padding: 20px;
  box-sizing: border-box;
}

/* largeur 100% pour le modèle de page sans sidebar */
/* .page-template-page-no-sidebar.ast-separate-container.ast-single-post.ast-right-sidebar #primary, .ast-separate-container.ast-single-post.ast-left-sidebar #primary, .ast-separate-container.ast-single-post #primary, .ast-plain-container.ast-single-post #primary, .ast-narrow-container.ast-single-post #primary  {
  width: 100%;
} */

/* bouton commentaire */

#comments .submit {
  color: #ffffff !important;
  background-color: #6bbf8e;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
  border-style: solid 5px #6bbf8e !important;
  border-radius: 100px;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  -ms-border-radius: 100px;
  -o-border-radius: 100px;
}
/* marge de bloc */
.wp-block-heading {
  margin-left: 0px !important;
  margin-right:  0px !important;
}

/* rank-math-faq */
#rank-math-faq {
  margin-left: 0px !important;
}

.rank-math-list {
  margin-left: 0px !important;
}

/* Conteneur principal du bloc How-To */
.rank-math-howto-block {
  background-color: #E9F5EE; /* Fond vert clair */
  padding: 20px;
  border-radius: 8px;
  margin-bottom: 20px;
}

/* Titre principal du How-To */
.rank-math-howto-block .rank-math-howto-title {
  color: #FC9726; /* Orange vif */
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}

/* Description principale */
.rank-math-howto-block .rank-math-howto-description {
  color: #333333; /* Gris foncé pour contraste (ou #FC9726 si limité à la palette) */
  font-size: 16px;
  margin-bottom: 20px;
}

/* Conteneur de chaque étape */
.rank-math-howto-block .rank-math-howto-step {
  border-bottom: 1px solid #D7F1DF; /* Séparateur vert clair */
  padding: 15px 0;
}

/* Titre de chaque étape */
.rank-math-howto-block .rank-math-howto-step-title {
  color: #FC9726; /* Orange */
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}

/* Texte de l’étape */
.rank-math-howto-block .rank-math-howto-step-description {
  color: #333333; /* Gris foncé pour lisibilité */
  font-size: 16px;
  line-height: 1.6;
}

/* Boutons ou liens dans le bloc */
.rank-math-howto-block a,
.rank-math-howto-block button {
  background-color: #FC9726;
  /*Fondorange*/color: #FFFFFF;
  /*Texteblanc*/padding: 10px 15px;
  border-radius: 5px;
  text-decoration: none;
  display: inline-block;
  transition: background-color 0.3s ease;
  -webkit-transition: background-color 0.3s ease;
  -moz-transition: background-color 0.3s ease;
  -ms-transition: background-color 0.3s ease;
  -o-transition: background-color 0.3s ease;
}

.rank-math-howto-block a:hover,
.rank-math-howto-block button:hover {
  background-color: #E08720; /* Orange légèrement plus foncé au survol */
}

/* Icônes (si utilisées) */
.rank-math-howto-block .rank-math-howto-step-icon {
  color: #FC9726; /* Orange pour les icônes */
  margin-right: 10px;
}
/* -------------------------
   🧭 TABLE DES MATIÈRES
-------------------------- */


.wp-block-rank-math-toc-block{
  border-top: 3px solid var(--ppn-green);
  background:var(--ppn-bg);
  border-radius:var(--ppn-radius);
  box-shadow:0 4px 10px rgba(0,0,0,.03);
  padding:1.4rem 1.6rem;
  margin:2rem 0;
  font-family:var(--ppn-font);
  -webkit-border-radius:var(--ppn-radius);
  -moz-border-radius:var(--ppn-radius);
  -ms-border-radius:var(--ppn-radius);
  -o-border-radius:var(--ppn-radius);
}

/* Titre */
.wp-block-rank-math-toc-block h2{
  margin:0 0 .9rem 0;
  font-size:1.12rem;
  font-weight:700;
  color:var(--ppn-dark);
  display:flex; align-items:center; gap:.5rem;
}
.wp-block-rank-math-toc-block h2::before{
  content:"";
  font-size:1.1rem;
  color:var(--ppn-green);
}

/* Liste */
.wp-block-rank-math-toc-block nav ul{
  list-style:none !important;
  margin:0 !important; padding:0 !important;
}
.wp-block-rank-math-toc-block nav li{
  margin:0 0 .55rem 0;
}
.wp-block-rank-math-toc-block nav li:last-child{ margin-bottom:0; }

/* Sous-niveaux (indentation douce) */
.wp-block-rank-math-toc-block nav li ul{ margin-top:.4rem !important; }
.wp-block-rank-math-toc-block nav li ul li{ margin:.4rem 0; }
.wp-block-rank-math-toc-block nav li ul a{ padding-left:1.9em; opacity:.95; }

/* Liens (soulignés par défaut, se retirent au hover) */
.wp-block-rank-math-toc-block nav a{
  text-decoration: none!important;
  position:relative;
  display:inline-block;
  padding-left:1.4em;
  /*placepourl’icône*/color:var(--ppn-dark);
  font-weight:600;
  text-decoration:none;
  /*pasdesoulignementnatif*/background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:100% 1px;
  /*soulignépardéfaut*/transition:background-size .25s ease, transform .15s ease, color .2s ease;
 
}

/* Icône devant CHAQUE lien (non soulignée) */
.wp-block-rank-math-toc-block nav a::before{
  content:"❯";                        /* tu peux mettre "❯" si tu préfères */
  position:absolute; left:0; top:.05em;
  font-size:.95em;
  color:var(--ppn-green);
  opacity:.95;
}

/* Hover/focus : le soulignement disparaît, légère translation */
.wp-block-rank-math-toc-block nav a:hover,
.wp-block-rank-math-toc-block nav a:focus{
  background-size:0 1px;
  transform:translateX(2px);
  color:#2c6a48;
  -webkit-transform:translateX(2px);
  -moz-transform:translateX(2px);
  -ms-transform:translateX(2px);
  -o-transform:translateX(2px);
}

/* Focus visible accessible */
.wp-block-rank-math-toc-block nav a:focus-visible{
  outline:2px solid transparent;
  box-shadow:0 0 0 2px rgba(79,197,125,.35);
  border-radius:6px;
  -webkit-border-radius:6px;
  -moz-border-radius:6px;
  -ms-border-radius:6px;
  -o-border-radius:6px;
}

/* Séparateur doux entre sections de premier niveau (optionnel) */
.wp-block-rank-math-toc-block > nav > ul > li + li{
  border-top:1px solid var(--ppn-border);
  padding-top:.55rem; margin-top:.55rem;
}


/* -------------------------
   💡 BLOC “L’ESSENTIEL”
-------------------------- */
.bloc-essentiel {
  background: rgba(249, 252, 250, 0.85);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(220, 232, 225, 0.5);
  border-left: 5px solid var(--ppn-accent);
  border-radius: var(--ppn-radius);
  padding: 1.5rem 1.8rem;
  margin: 2rem 0 3.5rem 0;
  text-align: left;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.04);
  font-family: var(--ppn-font);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.bloc-essentiel:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.06);
}


.bloc-essentiel h2,
.bloc-essentiel h3 {
  margin: 0 0 .6rem;
  font-size: clamp(1.1rem, 1rem + .2vw, 1.3rem);
  font-weight: 700;
  color: var(--ppn-text-primary);
}

/* 🔸 LISTES À PUCE (UL) : carré orange custom */
.bloc-essentiel ul,
.bloc-essentiel ul.wp-block-list {
  list-style: none !important;   /* on coupe les puces natives uniquement pour UL */
  padding-left: 0;
  margin: 0;
}

.bloc-essentiel ul li {
  position: relative;
  padding-left: 1.4rem;          /* place pour le carré */
  margin-bottom: .45rem;
  line-height: 1.45;
  color: var(--ppn-text-primary);
  font-weight: 600;
  list-style: none !important;
}

/* on neutralise le marker seulement sur UL */
.bloc-essentiel ul li::marker {
  content: "" !important;
}

.bloc-essentiel ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .4em;
  width: .7rem;
  height: .7rem;
  border-radius: 2px;
  background: var(--ppn-accent);
  opacity: .9;
}

/* 🔢 LISTES NUMÉROTÉES (OL) : on garde les chiffres */
.bloc-essentiel ol,
.bloc-essentiel ol.wp-block-list {
  margin: 0 0 0 1.4rem;          /* léger décalage pour les numéros */
  padding-left: 1.2rem;
  list-style: decimal;
}

.bloc-essentiel ol li {
  margin-bottom: .45rem;
  line-height: 1.45;
  color: var(--ppn-text-primary);
  font-weight: 600;
}

/* Liens du bloc avec effet reverse reveal */
.bloc-essentiel a {
  position: relative;
  color: var(--ppn-accent);
  font-weight: 700;
  text-decoration: none;
  background-image: linear-gradient(var(--ppn-accent), var(--ppn-accent));
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: color .3s ease, background-size .35s ease;
  text-decoration-skip: spaces symbols;
  -webkit-transition: color .3s ease, background-size .35s ease;
  -moz-transition: color .3s ease, background-size .35s ease;
  -ms-transition: color .3s ease, background-size .35s ease;
  -o-transition: color .3s ease, background-size .35s ease;
}

/* Hover : la ligne disparaît */
.bloc-essentiel a:hover {
  color: var(--ppn-accent-hover);
  background-size: 0% 1px;
}

/* Émojis non soulignés */
.bloc-essentiel a span,
.bloc-essentiel a img,
.bloc-essentiel a svg {
  background: none !important;
}

/* Dernier paragraphe plus doux */
.bloc-essentiel p:last-child {
  margin-top: .7rem;
  font-size: .95rem;
  color: var(--ppn-text-secondary);
}

/* -------------------------------------------
   🔮 BLOC “L’ESSENTIEL” - ÉDITION ALCHIMIE
   Classe : .bloc-essentiel-amour
---------------------------------------------- */
.bloc-essentiel-amour {
    /* Fond : Dégradé doux rappelant l'aurore */
    background: linear-gradient(135deg, #fff5f8 0%, #ffffff 100%);
    
    /* Bordure : Fine et élégante */
    border: 1px solid rgba(190, 24, 93, 0.1);
    
    /* Rayon de bordure (Désormais fonctionnel) */
    border-radius: 15px;
    
    /* Espacements */
    padding: 1.6rem 2rem 1.6rem 2.2rem;
    margin: 2rem 0 3.5rem 0;
    text-align: left;
    
    /* Lueur d'ambiance */
    box-shadow: 0 15px 35px rgba(190, 24, 93, 0.06);
    
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    position: relative;
    overflow: hidden; /* Découpe la barre de gauche selon l'arrondi */
}

/* La barre de gauche en dégradé (Remplace le border-left) */
.bloc-essentiel-amour::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(to bottom, #be185d, #7c3aed);
    z-index: 1;
}

/* Titres avec effet de texte précieux */
.bloc-essentiel-amour h2,
.bloc-essentiel-amour h3 {
    margin: 0 0 1rem;
    font-size: clamp(1.25rem, 1.1rem + .3vw, 1.45rem);
    font-weight: 800;
    background: linear-gradient(90deg, #be185d, #7c3aed);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* 🔸 LISTES À PUCE (UL) : Puces Coeurs */
.bloc-essentiel-amour ul,
.bloc-essentiel-amour ul.wp-block-list {
    list-style: none !important;
    padding-left: 0;
    margin: 0;
}

.bloc-essentiel-amour ul li {
    position: relative;
    padding-left: 1.8rem;
    margin-bottom: .7rem;
    line-height: 1.6;
    color: #3d3d3d;
    font-weight: 500;
}

.bloc-essentiel-amour ul li::marker {
    content: "" !important;
}

/* Icône Coeur custom */
.bloc-essentiel-amour ul li::before {
    content: "❤";
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 1.2em;
    color: #db2777;
    text-shadow: 0 2px 8px rgba(219, 39, 119, 0.4);
}

/* 🔢 LISTES NUMÉROTÉES (OL) */
.bloc-essentiel-amour ol,
.bloc-essentiel-amour ol.wp-block-list {
    margin: 0 0 0 1.5rem;
    padding-left: 1rem;
    list-style: decimal;
    color: #be185d;
}

.bloc-essentiel-amour ol li {
    margin-bottom: .6rem;
    line-height: 1.6;
    color: #3d3d3d;
    font-weight: 600;
}

/* Liens avec effet de révélation violet */
.bloc-essentiel-amour a {
    position: relative;
    color: #be185d;
    font-weight: 700;
    text-decoration: none;
    background-image: linear-gradient(90deg, rgba(124, 58, 237, 0.4), rgba(124, 58, 237, 0.4));
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: 0 95%;
    transition: all .3s ease;
}

.bloc-essentiel-amour a:hover {
    color: #7c3aed;
    background-size: 0% 2px;
    text-shadow: 0 0 12px rgba(124, 58, 237, 0.3);
}

/* Note de bas de bloc */
.bloc-essentiel-amour p:last-child {
    margin-top: 1.2rem;
    font-size: 0.95rem;
    font-style: italic;
    color: #94a3b8;
    border-top: 1px dashed rgba(190, 24, 93, 0.1);
    padding-top: 0.8rem;
}
/* -------------------------------------------
   ✨ BLOC "L'ESSENTIEL" - ÉDITION SPIRITUELLE
   Classe : .bloc-essentiel-defunts
   Thème : Spirituel / PPN Harmonisé
---------------------------------------------- */
.bloc-essentiel-defunts {
    /* Fond : Dégradé crème doux */
    background: linear-gradient(145deg, #ffffff 0%, #FFF8F2 50%, #F9FCFA 100%);
    
    /* Bordure : Fine et orange */
    border: 1px solid rgba(255, 158, 74, 0.2);
    
    /* Rayon de bordure */
    border-radius: 18px;
    -webkit-border-radius: 18px;
    -moz-border-radius: 18px;
    
    /* Espacements */
    padding: 1.8rem 2.2rem 1.8rem 2.4rem;
    margin: 2rem 0 3rem 0;
    text-align: left;
    
    /* Ombre douce */
    box-shadow: 
        0 8px 30px rgba(0, 0, 0, 0.06),
        0 0 20px rgba(255, 158, 74, 0.05);
    
    font-family: var(--ppn-font, 'Figtree', sans-serif);
    position: relative;
    overflow: hidden;
    color: #333333;
}

/* Barre de gauche en orange PPN */
.bloc-essentiel-defunts::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(to bottom, #FF9E4A, #FF7C00, #FF9E4A);
    z-index: 1;
}

/* Shimmer subtil orange */
.bloc-essentiel-defunts::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        45deg,
        transparent 40%,
        rgba(255, 158, 74, 0.03) 50%,
        transparent 60%
    );
    transform: rotate(45deg);
    animation: shimmerDefunts 6s ease-in-out infinite;
    pointer-events: none;
}
@keyframes shimmerDefunts {
    0%, 100% { transform: rotate(45deg) translateX(-100%); }
    50% { transform: rotate(45deg) translateX(100%); }
}

/* Titres avec couleur PPN */
.bloc-essentiel-defunts h2,
.bloc-essentiel-defunts h3 {
    margin: 0 0 1rem;
    font-size: clamp(1.2rem, 1.1rem + .3vw, 1.4rem);
    font-weight: 700;
    color: var(--ppn-green-dark, #2F6D4B);
    position: relative;
    z-index: 1;
}

/* 🔸 LISTES À PUCE (UL) : Puces étoiles */
.bloc-essentiel-defunts ul,
.bloc-essentiel-defunts ul.wp-block-list {
    list-style: none !important;
    padding-left: 0;
    margin: 0;
    position: relative;
    z-index: 1;
}

.bloc-essentiel-defunts ul li {
    position: relative;
    padding-left: 1.9rem;
    margin-bottom: .7rem;
    line-height: 1.6;
    color: #333333;
    font-weight: 500;
}

.bloc-essentiel-defunts ul li::marker {
    content: "" !important;
}

/* Icône étoile orange */
.bloc-essentiel-defunts ul li::before {
    content: "✨";
    position: absolute;
    left: 0;
    top: 2px;
    font-size: 1.1em;
    filter: drop-shadow(0 2px 4px rgba(255, 158, 74, 0.3));
}

/* 🔢 LISTES NUMÉROTÉES (OL) */
.bloc-essentiel-defunts ol,
.bloc-essentiel-defunts ol.wp-block-list {
    margin: 0 0 0 1.5rem;
    padding-left: 1rem;
    list-style: decimal;
    color: var(--ppn-accent, #FF9E4A);
    position: relative;
    z-index: 1;
}

.bloc-essentiel-defunts ol li {
    margin-bottom: .6rem;
    line-height: 1.6;
    color: #333333;
    font-weight: 600;
}

.bloc-essentiel-defunts ol li::marker {
    color: var(--ppn-accent, #FF9E4A);
    font-weight: 800;
}

/* Liens avec effet orange */
.bloc-essentiel-defunts a {
    position: relative;
    color: var(--ppn-accent, #FF9E4A);
    font-weight: 700;
    text-decoration: none;
    background-image: linear-gradient(90deg, rgba(255, 158, 74, 0.5), rgba(255, 158, 74, 0.5));
    background-size: 100% 1px;
    background-repeat: no-repeat;
    background-position: 0 95%;
    transition: all .3s ease;
    z-index: 1;
}

.bloc-essentiel-defunts a:hover {
    color: var(--ppn-accent-hover, #FF7C00);
    background-size: 0% 1px;
}

/* Note de bas de bloc */
.bloc-essentiel-defunts p:last-child {
    margin-top: 1.2rem;
    font-size: 0.9rem;
    font-style: italic;
    color: #777777;
    border-top: 1px dashed rgba(255, 158, 74, 0.2);
    padding-top: 0.8rem;
    position: relative;
    z-index: 1;
}

/* -------------------------------------------
   🧭 TOC RANKMATH - ÉDITION SPIRITUELLE
   Classe à ajouter : .toc-defunts
---------------------------------------------- */
.wp-block-rank-math-toc-block.toc-defunts {
    background: linear-gradient(145deg, #ffffff 0%, #FFF8F2 50%, #F9FCFA 100%);
    border: 1px solid rgba(255, 158, 74, 0.2);
    border-top: 3px solid var(--ppn-accent, #FF9E4A);
    border-radius: 18px;
    box-shadow: 
        0 8px 30px rgba(0, 0, 0, 0.06),
        0 0 20px rgba(255, 158, 74, 0.05);
    padding: 1.6rem 1.8rem;
    margin: 2rem 0;
    font-family: var(--ppn-font, 'Figtree', sans-serif);
}

.wp-block-rank-math-toc-block.toc-defunts h2 {
    color: var(--ppn-green-dark, #2F6D4B);
    font-weight: 700;
}
.wp-block-rank-math-toc-block.toc-defunts h2::before {
    color: var(--ppn-accent, #FF9E4A);
}

.wp-block-rank-math-toc-block.toc-defunts nav a {
    color: #333333;
    background-image: linear-gradient(rgba(255,158,74,0.5), rgba(255,158,74,0.5));
}
.wp-block-rank-math-toc-block.toc-defunts nav a::before {
    color: var(--ppn-accent, #FF9E4A);
}
.wp-block-rank-math-toc-block.toc-defunts nav a:hover,
.wp-block-rank-math-toc-block.toc-defunts nav a:focus {
    color: var(--ppn-accent, #FF9E4A);
    background-size: 0 1px;
}

.wp-block-rank-math-toc-block.toc-defunts > nav > ul > li + li {
    border-top: 1px solid rgba(255, 158, 74, 0.1);
}

/* -------------------------------------------
   ❓ FAQ RANKMATH - ÉDITION SPIRITUELLE
   Classe à ajouter : .faq-defunts
   (Ajouter la classe sur le wrapper .rank-math-list)
---------------------------------------------- */
/* Style le parent quand l'enfant a la classe */
.rank-math-block:has(.faq-defunts) {
    background: linear-gradient(145deg, #ffffff 0%, #FFF8F2 50%, #F9FCFA 100%);
    border: 1px solid rgba(255, 158, 74, 0.2);
    border-radius: 18px;
    padding: 1.8rem 2rem;
    margin: 2rem 0;
    box-shadow: 
        0 8px 30px rgba(0, 0, 0, 0.06),
        0 0 20px rgba(255, 158, 74, 0.05);
}

.rank-math-block:has(.faq-defunts) .rank-math-question {
    color: var(--ppn-green-dark, #2F6D4B) !important;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 0.8rem 0;
    border-bottom: 1px solid rgba(255, 158, 74, 0.15);
    cursor: pointer;
    position: relative;
}

.rank-math-block:has(.faq-defunts) .rank-math-question::before {
    content: "✨";
    margin-right: 0.6rem;
    filter: drop-shadow(0 2px 4px rgba(255, 158, 74, 0.3));
}

.rank-math-block:has(.faq-defunts) .rank-math-answer {
    color: #333333;
    font-size: 1rem;
    line-height: 1.7;
    padding: 1rem 0 0.5rem 1.8rem;
}

.rank-math-block:has(.faq-defunts) .rank-math-answer a {
    color: var(--ppn-accent, #FF9E4A);
    text-decoration: none;
    background-image: linear-gradient(rgba(255,158,74,0.4), rgba(255,158,74,0.4));
    background-size: 100% 1px;
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: all 0.3s ease;
}

.rank-math-block:has(.faq-defunts) .rank-math-answer a:hover {
    color: var(--ppn-accent-hover, #FF7C00);
    background-size: 0% 1px;
}

.rank-math-block:has(.faq-defunts) .rank-math-list-item {
    border-bottom: 1px dashed rgba(255, 158, 74, 0.1);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}

.rank-math-block:has(.faq-defunts) .rank-math-list-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Override hover effect - subtle orange tint */
.rank-math-block:has(.faq-defunts) .rank-math-list-item:hover,
.rank-math-block:has(.faq-defunts) .rank-math-list-item:focus {
    background: rgba(255, 158, 74, 0.05) !important;
    border-radius: 12px;
}

/* Bold text visibility */
.rank-math-block:has(.faq-defunts) strong,
.rank-math-block:has(.faq-defunts) b {
    color: var(--ppn-accent, #FF9E4A) !important;
    font-weight: 700;
}

/* =====================================================
   🎯 BLOC CTA – PenseePositive.NET
   ===================================================== */
.bloc-cta {
  position: relative;
  background: linear-gradient(135deg, rgba(255, 248, 232, 0.8) 0%, rgba(215, 241, 223, 0.8) 100%);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 25px;
  padding: 3rem 3.5rem;
  margin: 4rem 0;
  text-align: center;
  font-family: var(--ppn-font);
  color: #1E1E1E;
  box-shadow: 0 25px 55px rgba(79, 197, 125, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.5) inset;
  overflow: hidden;
  isolation: isolate;
}


/* Halo mouvant subtil (animation lente) */
.bloc-cta::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: conic-gradient(from 0deg, #FF8C94, #FFE066, #4FC57D, #FF8C94);
  animation: ctaGlow 8s linear infinite;
  opacity: 0.1;
  filter: blur(40px);
  z-index: 0;
  -webkit-filter: blur(40px);
  -webkit-animation: ctaGlow 8s linear infinite;
}
@keyframes ctaGlow {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.bloc-cta h3 {
  position: relative;
  z-index: 1;
  font-size: clamp(1.6rem, 1.2rem + 0.8vw, 2rem);
  font-weight: 800;
  color: var(--ppn-text-primary);
  margin-bottom: 1rem;
  text-shadow: 0 2px 6px rgba(255,255,255,0.4);
}

.bloc-cta p {
  position: relative;
  z-index: 1;
  font-size: 1.1rem;
  color: #333;
  line-height: 1.65;
  max-width: 700px;
  margin: 0 auto 2rem;
}

/* Bouton central */
.bloc-cta a.btn {
  position: relative;
  z-index: 1;
  background: var(--ppn-accent);
  color: #fff;
  padding: 0.95rem 1.9rem;
  border-radius: 14px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(79,197,125,0.3);
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  transition: transform .2s ease, box-shadow .3s ease, background .3s ease;
  overflow: hidden;
}

/* Effet de reflet traversant */
.bloc-cta a.btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.5) 50%, transparent 100%);
  transform: translateX(-120%);
  transition: transform 0.7s ease;
}
.bloc-cta a.btn:hover::after {
  transform: translateX(120%);
}
.bloc-cta a.btn:hover {
  background: var(--ppn-accent-hover);
  box-shadow: 0 10px 25px rgba(79,197,125,0.35);
  transform: translateY(-2px);
}

/* Émoji pulsant */
.bloc-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.9), transparent 70%),
              radial-gradient(circle at 80% 80%, rgba(255,255,255,0.6), transparent 60%);
  opacity: 0.6;
  mix-blend-mode: overlay;
  z-index: 0;
  pointer-events: none; /* ✅ empêche le bloc de bloquer le clic */
}

.bloc-cta::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: conic-gradient(from 0deg, #FF8C94, #FFE066, #4FC57D, #FF8C94);
  animation: ctaGlow 8s linear infinite;
  opacity: 0.1;
  filter: blur(40px);
  z-index: 0;
  pointer-events: none;
  -webkit-filter: blur(40px);
  -webkit-animation: ctaGlow 8s linear infinite;
}

/* =====================================================
   Listes article – PenseePositive.NET
   (compatibles Gutenberg, n'impactent pas ta TOC custom)
   ===================================================== */

/* UL & OL par défaut dans le contenu */
.entry-content :where(ul, ol){
  margin: 1.25rem 0 1.5rem;
  padding-left: 1.5rem;
  font-family: var(--ppn-font, "Figtree", sans-serif);
  line-height: 1.8;
  color: var(--ppn-text-dark, #1E1E1E);
}

.entry-content p {
  line-height: 1.75;
  margin-bottom: 1.5rem;
  letter-spacing: 0.01em;
}

.entry-content h1, .entry-content h2, .entry-content h3 {
  letter-spacing: -0.02em;
  line-height: 1.3;
}


/* Evite les doubles marges de Gutenberg (li > p) */
.entry-content li > p{ margin: 0; }

/* UL : pas de puces (on a les bordures arc-en-ciel) */
.entry-content ul{ list-style: none; padding-left: 0; }
.entry-content ul li{ margin: .35rem 0; }

/* =====================================================
   🌈 RAINBOW LISTS - Bordure Arc-en-ciel
   (Exclut TOC et Bloc Essentiel)
   ===================================================== */
.entry-content ul li,
.entry-content ol li {
  position: relative;
  padding-left: 0.8rem;
  border-left: 3px solid transparent;
  transition: all 0.3s ease;
}

/* Rainbow colors based on position */
.entry-content ul li:nth-child(5n+1),
.entry-content ol li:nth-child(5n+1) { border-left-color: #4FC57D; } /* Vert */

.entry-content ul li:nth-child(5n+2),
.entry-content ol li:nth-child(5n+2) { border-left-color: #FF9E4A; } /* Orange */

.entry-content ul li:nth-child(5n+3),
.entry-content ol li:nth-child(5n+3) { border-left-color: #FF8C94; } /* Rose */

.entry-content ul li:nth-child(5n+4),
.entry-content ol li:nth-child(5n+4) { border-left-color: #5CB8E6; } /* Bleu */

.entry-content ul li:nth-child(5n+5),
.entry-content ol li:nth-child(5n+5) { border-left-color: #FFE066; } /* Or */

/* Ne pas appliquer sur TOC, bloc-essentiel (toutes variantes), Thrive Leads, Blockquotes et plugins SEO Cluster */
/* Exclusions générales (TOC, Thrive, plugins SEO) */
.wp-block-rank-math-toc-block li,
.wp-block-quote li,
.tcb-styled-list li,
#shm-cluster-wrapper li,
.shm-compact-wrapper li,
.shm-accordion-content li,
#sna-cluster-wrapper li,
.sna-compact-wrapper li,
.sna-accordion-content li {
  border-left: none !important;
  padding-left: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   💡 BLOC "L'ESSENTIEL" - STYLES LISTES
   ═══════════════════════════════════════════════════════════════ */

/* Reset border-left rainbow */
.bloc-essentiel li,
ul.bloc-essentiel li,
.bloc-essentiel-amour li,
ul.bloc-essentiel-amour li,
.bloc-essentiel-defunts li,
ul.bloc-essentiel-defunts li {
  border-left: none !important;
  opacity: 1 !important;
  transform: none !important;
}

/* UL : puces carrées orange custom */
.bloc-essentiel ul li,
.bloc-essentiel .wp-block-list li,
ul.bloc-essentiel li {
  position: relative !important;
  padding-left: 1.6em !important; /* Ajusté pour être parfait */
  margin-bottom: .45rem;
  line-height: 1.45;
  list-style: none !important;
  text-indent: 0 !important;
  margin-left: 0 !important;
}

.bloc-essentiel ul li::marker,
.bloc-essentiel .wp-block-list li::marker,
ul.bloc-essentiel li::marker {
  content: "" !important;
}

.bloc-essentiel ul li::before,
.bloc-essentiel .wp-block-list li::before,
ul.bloc-essentiel li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .5em;
  width: .6em;
  height: .6em;
  border-radius: 2px;
  background: var(--ppn-accent, #FF9E4A);
  opacity: .9;
}

/* Bloc Amour : puces coeur */
.bloc-essentiel-amour ul li,
ul.bloc-essentiel-amour li {
  position: relative;
  padding-left: 1.8rem !important;
  margin-bottom: .7rem;
  line-height: 1.6;
  list-style: none !important;
  text-indent: 0 !important;
}

.bloc-essentiel-amour ul li::marker,
ul.bloc-essentiel-amour li::marker {
  content: "" !important;
}

.bloc-essentiel-amour ul li::before,
ul.bloc-essentiel-amour li::before {
  content: "❤";
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 1.2em;
  color: #db2777;
  text-shadow: 0 2px 8px rgba(219, 39, 119, 0.4);
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
}

/* Bloc Défunts : puces étoile */
.bloc-essentiel-defunts ul li,
ul.bloc-essentiel-defunts li {
  position: relative;
  padding-left: 1.9rem !important;
  margin-bottom: .7rem;
  line-height: 1.6;
  list-style: none !important;
  text-indent: 0 !important;
}

.bloc-essentiel-defunts ul li::marker,
ul.bloc-essentiel-defunts li::marker {
  content: "" !important;
}

.bloc-essentiel-defunts ul li::before,
ul.bloc-essentiel-defunts li::before {
  content: "✨";
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 1.1em;
  filter: drop-shadow(0 2px 4px rgba(255, 158, 74, 0.3));
  width: auto;
  height: auto;
  background: none;
  border-radius: 0;
}


/* Hover effect (exclut TOC, bloc-essentiel, Thrive et plugins) */
.entry-content ul li:hover,
.entry-content ol li:hover {
  background: rgba(79, 197, 125, 0.05);
  padding-left: 1.2rem;
  border-radius: 6px;
}

/* Désactiver hover sur listes exclues */
.wp-block-rank-math-toc-block li:hover,
/*.bloc-essentiel li:hover,  <-- REMOVED from reset */
/*.bloc-essentiel-amour li:hover, <-- REMOVED from reset */
/*.bloc-essentiel-defunts li:hover, <-- REMOVED from reset */
.wp-block-quote li:hover,
.tcb-styled-list li:hover,
#shm-cluster-wrapper li:hover,
.shm-compact-wrapper li:hover,
.shm-accordion-content li:hover,
#sna-cluster-wrapper li:hover,
.sna-compact-wrapper li:hover,
.sna-accordion-content li:hover {
  background: none !important;
  padding-left: 0 !important;
  border-radius: 0 !important;
}
/* Sous-niveaux : puces un peu plus discrètes */
.entry-content ul ul{ margin-top: .4rem; }
.entry-content ul ul li::marker{ opacity: .6; }

/* OL : numérotation propre + accent */
.entry-content ol{ list-style: decimal outside; }
.entry-content ol li{ margin: .35rem 0; }
.entry-content ol li::marker{
  color: var(--ppn-accent, #4FC57D);
  font-weight: 700;
}

/* Liens dans les listes : "reverse reveal" (ligne qui disparaît au hover) */
.entry-content li a{
  color: var(--ppn-text-primary, #2F6D4B);
  text-decoration: none!important;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .25s ease, color .2s ease;
}
.entry-content li a:hover{
  color: var(--ppn-accent, #4FC57D);
  background-size: 0% 1px;
}

/* Sécurité : ne pas toucher la TOC RankMath (elle a son propre style) */
.wp-block-rank-math-toc-block nav ul,
.wp-block-rank-math-toc-block nav ol{
  list-style: none !important;      /* garde ta TOC telle qu'on l'a faite */
  padding-left: 0 !important;
}

/* Optionnel : listes à puces dans la FAQ (si tu en mets) */
.rank-math-block .rank-math-answer ul li::marker{
  color: var(--ppn-accent, #4FC57D);
}

/* UL à coches vertes */
.entry-content .list--check{ list-style: none; padding-left: 0; }
.entry-content .list--check li{
  position: relative;
  padding-left: 1.6rem;
  margin: .4rem 0;
}
.entry-content .list--check li::before{
  content: "✓";
  position: absolute; left: 0; top: .15rem;
  width: 1.05rem; height: 1.05rem;
  border-radius: .3rem;
  display: grid; place-items: center;
  background: var(--ppn-accent, #4FC57D);
  color: #fff; font-weight: 800; font-size: .8rem;
  box-shadow: 0 2px 6px rgba(79,197,125,.25);
}

/* OL avec pastille numérotée (1,2,3) */
.entry-content .list--num{ list-style: none; counter-reset: num; padding-left: 0; }
.entry-content .list--num > li{
  counter-increment: num;
  position: relative;
  padding-left: 2.2rem;
  margin: .5rem 0;
}
.entry-content .list--num > li::before{
  content: counter(num);
  position: absolute; left: 0; top: .05rem;
  width: 1.6rem; height: 1.6rem;
  border-radius: .5rem;
  background: var(--ppn-accent, #4FC57D);
  color: #fff; font-weight: 800;
  display: grid; place-items: center;
  box-shadow: 0 3px 10px rgba(79,197,125,.25);
}

.no-underline{ background: none !important; } /*désactive l'underline sous les émojis (faire un span id) */

/* =====================================================
   Listes thématiques – PenseePositive.NET
   ===================================================== */

/* UL/OL thématiques (pose la classe .list-themed + un thème) */
.entry-content :is(ul.list-themed, ol.list-themed){
  list-style: none;        /* on gère nous-mêmes les puces */
  padding-left: 0;
  margin: 1rem 0 1.25rem;
  font-family: var(--ppn-font, "Figtree", sans-serif);
  line-height: 1.65;
  color: var(--list-text, var(--ppn-text-dark, #1E1E1E));
}

/* Items */
.entry-content .list-themed > li{
  position: relative;
  padding-left: 2rem;      /* place pour la pastille */
  margin: .45rem 0;
  transition: background .2s ease;
  border-radius: 10px;     /* hover doux */
}
.entry-content .list-themed > li:hover{
  background: var(--list-bg, transparent);
}

/* Puce/emoji/pastille (pour UL ou OL sans numéros) */
.entry-content .list-themed:not(.list--numbers) > li::before{
  content: var(--list-bullet, "•");
  position: absolute; left: .2rem; top: .15rem;
  width: 1.25rem; height: 1.25rem;
  display: grid; place-items: center;
  font-size: .9rem; font-weight: 800;
  color: var(--list-bullet-color, #fff);
  background: var(--list-accent, #4FC57D);
  border-radius: .4rem;
  box-shadow: 0 3px 10px color-mix(in oklab, var(--list-accent, #4FC57D) 35%, transparent);
}

/* Variante numérotée en pastilles (OL) */
.entry-content ol.list-themed.list--numbers{ counter-reset: num; }
.entry-content ol.list-themed.list--numbers > li{
  counter-increment: num;
}
.entry-content ol.list-themed.list--numbers > li::before{
  content: counter(num);
  position: absolute; left: .2rem; top: .1rem;
  width: 1.45rem; height: 1.45rem;
  display: grid; place-items: center;
  font-size: .85rem; font-weight: 800;
  color: #fff;
  background: var(--list-accent, #4FC57D);
  border-radius: .5rem;
  box-shadow: 0 4px 12px color-mix(in oklab, var(--list-accent, #4FC57D) 35%, transparent);
}

/* Liens (reverse-reveal sur l’accent du thème) */
.entry-content .list-themed a{
  color: var(--list-text, #2F6D4B);
  text-decoration: none;
  background-image: linear-gradient(var(--list-accent, #4FC57D), var(--list-accent, #4FC57D));
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .25s ease, color .2s ease;
}
.entry-content .list-themed a:hover{
  color: var(--list-accent, #4FC57D);
  background-size: 0% 1px;
}

/* Compacte (option) */
.entry-content .list-themed.list--compact > li{ margin: .25rem 0; }

/* Sécurité : on ne touche pas la TOC Rank Math */
.wp-block-rank-math-toc-block nav :is(ul,ol){ list-style: none !important; padding-left: 0 !important; }

/* 💖 AMOUR / RELATIONS – rose doux */
.entry-content :is(ul.list--love, ol.list--love){
  --list-accent: #FF8C94;
  --list-bullet-color: #fff;
  --list-bg: #FFE1E6;
  --list-text: #7F2A36;
  --list-bullet: "💖";
}

/* ☀️ MOTIVATION / CONFIANCE – ocre solaire */
.entry-content :is(ul.list--sun, ol.list--sun){
  --list-accent: #E6B94F;
  --list-bullet-color: #7A5A12;
  --list-bg: #FFF4D8;
  --list-text: #7A5A12;
  --list-bullet: "⭐";
}

/* 🩵 SÉRÉNITÉ / CLARTÉ – bleu apaisant */
.entry-content :is(ul.list--serenity, ol.list--serenity){
  --list-accent: #5CB8E6;
  --list-bullet-color: #fff;
  --list-bg: #F0F7FC;
  --list-text: #245d82;
  --list-bullet: "✓";
}

/* 🌱 CROISSANCE / HABITUDES – vert positif */
.entry-content :is(ul.list--growth, ol.list--growth){
  --list-accent: var(--ppn-accent, #4FC57D);
  --list-bullet-color: #fff;
  --list-bg: #EAF8F0;
  --list-text: var(--ppn-text-primary, #2F6D4B);
  --list-bullet: "🌱";
}

/* ✨ SPIRITUEL / GRATITUDE – doré doux */
.entry-content :is(ul.list--gratitude, ol.list--gratitude){
  --list-accent: #D8B25E;
  --list-bullet-color: #fff;
  --list-bg: #FCF6E8;
  --list-text: #6C5523;
  --list-bullet: "✨";
}

/* marge titre */

header.entry-header {
  margin-top: 0px !important;
  padding-left: 0px !important;
}

/* bouton quiz */

/* .tqb-template-style-4 .tqb-answer-inner-wrapper:not(.tqb-open-ended-wrapper) .tqb-answer-action {
  height: 100%;
  padding: 25px;
  color: #023047;
  background-color: #ffffff;
  box-shadow: 0 0px 0px rgba(232, 129, 2, 0.042);
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
} */

/* .tqb-template-style-4 .tqb-answer-inner-wrapper:not(.tqb-open-ended-wrapper) .tqb-answer-action:hover {
  background-color: #fb7500!important;
  color: #ffffff;
  
} */

/*inline notice */

/* tableau responsive */
.table-wrapper {
  margin: 20px 0;
}

.responsive-table {
  width: 100%;
  border-collapse: collapse;
}

.responsive-table th,
.responsive-table td {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

.responsive-table th {
  background-color: #f2f2f2;
}

/* titre et intro au dessus du widget citation du jour */
.pp-citation-title {
  margin-top: 64px;
}
.pp-citation-title,
.pp-citation-intro {
    text-align: center;
}

.pp-citation-intro {
    font-size: 1.08rem;
    opacity: 0.78;
    margin-bottom: 1.1rem;
    margin-top: 0.35rem;
}

.pp-citation-wow {
  position: relative;
  max-width: 95%;
  margin: 2.5rem auto 2rem auto;
  background: linear-gradient(135deg, #D7F1DF 70%, #FFE066 100%);
  border-radius: 2.2rem;
  box-shadow: 0 7px 34px #d7f1df48, 0 2px 9px #FF8C94aa;
  padding: 2.6rem 1.4rem 1.7rem 1.4rem;
  text-align: center;
  font-family: 'Figtree', 'Poppins', 'Nunito', Arial, sans-serif;
  z-index: 1;
}
.pp-citation-wow .pp-date {
  font-size: 1.1rem;
  color: #000000;
  margin-bottom: 1.15rem;
  font-style: italic;
  letter-spacing: 0.01em;
  font-weight: 500;
}
.pp-citation-wow .pp-bulle {
  background: #fff;
  border-radius: 1.5rem;
  border: none;
  box-shadow: 0 2px 19px #ff8c9440, 0 4px 20px #d7f1df13;
  padding: 1.7rem 1.2rem 1.3rem 1.2rem;
  font-family: 'Caveat', 'Pacifico', 'Shadows Into Light', cursive, sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: 0 2px 13px #ffe06629;
  min-width: 75%;
  max-width: 99%;
  margin-bottom: 1.2rem;
  z-index: 2;
  display: inline-block;
}
.pp-btn i {
    margin-right: 0.44em;
    font-size: 1.13em;
    vertical-align: -0.05em;
}
.pp-actions .pp-btn {
    border-radius: 999px;
    padding: 0.64rem 1.04rem;
    font-weight: 600;
    font-size: 1.04rem;
    color: #fff;
    transition: background 0.12s, color 0.12s, transform 0.13s;
    box-shadow: 0 2px 8px #ccc3, 0 1.5px 6px #ff8c9430;
    outline: none;
    margin: 0 0.12em 0.22em 0.12em;
    -webkit-transition: background 0.12s, color 0.12s, transform 0.13s;
    -moz-transition: background 0.12s, color 0.12s, transform 0.13s;
    -ms-transition: background 0.12s, color 0.12s, transform 0.13s;
    -o-transition: background 0.12s, color 0.12s, transform 0.13s;
    -webkit-border-radius: 999px;
    -moz-border-radius: 999px;
    -ms-border-radius: 999px;
    -o-border-radius: 999px;
}
.pp-btn-copy       { background: #888; }
.pp-btn-whatsapp   { background: #25D366; }
.pp-btn-facebook   { background: #1877F3; }
.pp-btn-x          { background: #222; }
.pp-btn-messenger  { background: #0078FF; }
.pp-btn-email      { background: #e97e2a; }
.pp-btn-pinterest  { background: #E60023; }

.pp-actions .pp-btn:hover,
.pp-actions .pp-btn:focus {
    filter: brightness(1.13) contrast(1.13);
    transform: scale(1.08);
    color: #fff;
    -webkit-filter: brightness(1.13) contrast(1.13);
    -webkit-transform: scale(1.08);
    -moz-transform: scale(1.08);
    -ms-transform: scale(1.08);
    -o-transform: scale(1.08);
}

.pp-btn-copy:active        { background: #aaa; }
.pp-btn-whatsapp:active    { background: #18b054; }
.pp-btn-facebook:active    { background: #155ed6; }
.pp-btn-x:active           { background: #444; }
.pp-btn-messenger:active   { background: #0255bb; }
.pp-btn-email:active       { background: #cf6611; }
.pp-btn-pinterest:active   { background: #af001c; }

/* === Blocs Info pour PenseePositive.NET === */
/* 🩵 Bloc Info (par défaut) */
.bloc-info {
  background: var(--ppn-info-bg);
  border: 1px solid var(--ppn-info-border);
  border-left: 4px solid var(--ppn-info-accent);
  border-radius: var(--ppn-radius);
  padding: 1.1rem 1.4rem;
  margin: 1.8rem 0 2rem;
  font-family: var(--ppn-font);
  color: var(--ppn-text-dark);
  box-shadow: var(--ppn-shadow);
}

.bloc-info h3 {
  margin: 0 0 .6rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--ppn-info-text);
  display: flex;
  align-items: center;
  gap: .4rem;
}

.bloc-info p {
  margin: 0;
  line-height: 1.6;
}
.bloc-info a {
  color: var(--ppn-info-text);
  font-weight: 600;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size .3s ease, color .3s ease;
  -webkit-transition: background-size .3s ease, color .3s ease;
  -moz-transition: background-size .3s ease, color .3s ease;
  -ms-transition: background-size .3s ease, color .3s ease;
  -o-transition: background-size .3s ease, color .3s ease;
}
.bloc-info a:hover {
  color: var(--ppn-info-hover);
  background-size: 0% 1px;
}

/* Variante Astuce */
.bloc-info.astuce {
  background: #E7F9EC;
  border-color: #4FC57D;
}
.bloc-info.astuce h3,
.bloc-info.astuce strong {
  color: #4FC57D;
}

/* Variante Avertissement */
.bloc-info.avertissement {
  background: #FFF8E8;
  border-color: #E6B94F;
}
.bloc-info.avertissement h3,
.bloc-info.avertissement strong {
  color: #E6B94F;
}

/* Variante Critique */
.bloc-info.critique {
  background: #FBEFEF;
  border-color: #D96B6B;
}
.bloc-info.critique h3,
.bloc-info.critique strong {
  color: #D96B6B;
}

/* === Bloc Citation pour PenseePositive.NET === */
.wp-block-quote {
  position: relative;
  background: #FFFDF8;
  border-left: 6px solid #98D5A1;
  border-radius: 12px;
  padding: 1.4rem 1.8rem 1.2rem 2.2rem;
  margin: 2.5rem 0;
  font-family: "Figtree", sans-serif;
  font-size: 1.1rem;
  line-height: 1.65;
  color: #444;
}

.wp-block-quote::before {
  content: "“";
  position: absolute;
  top: -10px;
  left: 20px;
  font-size: 4.5rem;
  color: rgba(79,197,125,0.15); /* vert doux en transparence */
  font-family: Georgia, serif;
  line-height: 1;
  pointer-events: none;
}

.wp-block-quote p {
  margin: 0;
}

.wp-block-quote cite {
  display: block;
  margin-top: 1rem;
  font-size: .9rem;
  font-style: normal;
  color: #777;
  text-align: right;
  font-weight: 600;
}

/* Variante “Large” (style optionnel) */
.wp-block-quote.is-style-large {
  background: #F9FFF9;
  border-left-color: #4FC57D;
  font-size: 1.25rem;
  padding: 1.8rem 2rem 1.5rem 2.5rem;
}

/* =====================================================
   FAQ Rank Math – Version Dépliée pour PenseePositive.NET
   ===================================================== */

.rank-math-block {
  background: #F9FCFA;               /* fond vert très clair */
  border: 2px solid #98D5A1;         /* vert doux */
  border-radius: 12px;
  padding: 1.8rem 2rem;
  margin: 2.5rem 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.03);
  font-family: "Figtree", sans-serif;
  color: #333;
  line-height: 1.6;
}

/* Chaque item */
.rank-math-list-item {
  border-bottom: 1px solid #DCE8E1;
  padding: 1.2rem 0;
}

.rank-math-list-item:last-child {
  border-bottom: none;
}

/* Question */
.rank-math-question {
  font-size: 1.15rem;
  font-weight: 700;
  color: #2F6D4B; /* vert moyen */
  margin-bottom: 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.rank-math-question::before {
  content: "🗣️";
  font-size: 1.2rem;
  color: #4FC57D;
  opacity: 0.9;
}

/* Réponse */
.rank-math-answer {
  font-size: 1rem;
  color: #444;
  margin-left: 1.9rem;
}

/* Petits ajustements pour liens et emphases */
.rank-math-answer a {
  color: #2F6D4B;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
  -webkit-transition: color 0.2s ease;
  -moz-transition: color 0.2s ease;
  -ms-transition: color 0.2s ease;
  -o-transition: color 0.2s ease;
}
.rank-math-answer a:hover {
  color: #4FC57D;
}

.rank-math-answer strong {
  color: #2F6D4B;
  font-weight: 600;
}

/* Effet doux au survol de la question (visuel uniquement) */
.rank-math-list-item:hover {
  background: #F4FBF6;
  transition: background 0.3s ease;
  -webkit-transition: background 0.3s ease;
  -moz-transition: background 0.3s ease;
  -ms-transition: background 0.3s ease;
  -o-transition: background 0.3s ease;
}





/* Empêche tout formulaire Thrive Leads d'apparaître dans ce bloc uniquement */
.tl-no-incontent .tve-leads-conversion-object,
.tl-no-incontent [class*="tve-leads"] {
  display: none !important;
}
/* bouton notamment pour le chèque d'abondance */

/* --- Bouton Or/Orange Animé --- */
.cta-button-gold-orange {
  position: relative;
  display: inline-block;
  padding: 0.8rem 1.7rem;
  background: linear-gradient(135deg, #FFD700 0%, #FF8C00 100%);
  color: #000!important;
  text-decoration: none !important;
  text-align: center;
  border-radius: 50px;
  font-weight: 800;
  box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
  border: none;
  cursor: pointer;
  margin-bottom: 0.5rem;
  z-index: 1;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.cta-button-gold-orange::before {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: 55px;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.4) 0%, transparent 70%);
  z-index: -1;
  animation: halo-mouvant 3s ease-in-out infinite;
}

@keyframes halo-mouvant {
  0%, 100% { transform: scale(0.95); opacity: 0.3; }
  50% { transform: scale(1.1); opacity: 0.6; }
}

.cta-button-gold-orange:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 8px 25px rgba(255, 215, 0, 0.5);
}


.cta-button-gold-orange:hover {
  transform: scale(1.05);
  box-shadow: 0 0 15px rgba(255, 215, 0, 0.6);
}

.cta-button-gold-orange a {
  text-decoration: none!important;
}


.cta-button-lila-violet {
  display: inline-block;
  padding: 0.9rem 1.8rem;
  background: linear-gradient(to right, #7E91AF, #CEB3A8);
  color: #ffffff;
  font-weight: 600;
  text-decoration: none!important;
  border-radius: 50px;
  border: none;
  cursor: pointer;
  text-align: center;
  transition: 0.3s ease;
  box-shadow: 0 0 10px rgba(140, 110, 215, 0.35);
}

/* Effet hover doux */
.cta-button-lila-violet:hover {
  background: linear-gradient(to right, #7E91AF, #CEB3A8);
  box-shadow: 0 0 15px rgba(140, 110, 215, 0.5);
  transform: scale(1.04);
}

/* Si tu utilises un <a> à l'intérieur */
.cta-button-lila-violet a {
  color: #ffffff!important;
  text-decoration: none!important;
}

/* =====================================================
   Tableaux 
   ===================================================== */

/* 1) S'il y a un <figcaption> (même vide), on retire sa place */
.wp-block-table figcaption {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  height: 0 !important;
  display: none; /* si tu n’utilises pas de légendes */
}

/* 2) On évite un trait + “coussin” sous la dernière rangée */
.wp-block-table td,
.wp-block-table th {
  border: none; /* neutralise les traits verticaux hérités du thème */
}
.wp-block-table tbody tr + tr td {
  border-top: 1px solid rgba(0,0,0,0.06); /* séparateurs entre lignes uniquement */
}
.wp-block-table tbody tr:last-child td {
  border-bottom: 0; /* rien sous la dernière ligne */
}

/* 3) Le conteneur figure ne doit pas créer d’espace interne */
.wp-block-table {
  padding: 0 !important;
}

/* Rappel: style global du tableau (version container + radius) */
.wp-block-table {
  border: 2px solid #D7F1DF;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,.03);
  background: #f9fafb;
  margin-bottom: 32px;
}
.wp-block-table table {
  width: 100%;
  border-collapse: separate; /* propre avec radius */
  border-spacing: 0;         /* pas d’interstice */
}
.wp-block-table thead { background: #D7F1DF; color: #023047; font-weight: 700; text-transform: uppercase; }
.wp-block-table th { padding: .9rem 1rem; text-align: left; font-size: .95rem; letter-spacing: .3px; }
.wp-block-table td { padding: .8rem 1rem; font-size: .95rem; color: #023047; line-height: 1.5; }
.wp-block-table tbody tr:nth-child(even) { background: rgba(0,0,0,.02); }
.wp-block-table tbody tr {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

/* Cycle de couleurs harmonieuses au survol */
.wp-block-table tbody tr:nth-child(5n+1):hover { background: rgba(79, 197, 125, 0.12); box-shadow: inset 4px 0 0 #4FC57D; } /* Vert */
.wp-block-table tbody tr:nth-child(5n+2):hover { background: rgba(255, 158, 74, 0.12); box-shadow: inset 4px 0 0 #FF9E4A; } /* Orange */
.wp-block-table tbody tr:nth-child(5n+3):hover { background: rgba(255, 140, 148, 0.12); box-shadow: inset 4px 0 0 #FF8C94; } /* Rose */
.wp-block-table tbody tr:nth-child(5n+4):hover { background: rgba(92, 184, 230, 0.12); box-shadow: inset 4px 0 0 #5CB8E6; } /* Bleu */
.wp-block-table tbody tr:nth-child(5n+5):hover { background: rgba(255, 224, 102, 0.12); box-shadow: inset 4px 0 0 #FFE066; } /* Or */

.wp-block-table tbody tr:hover {
  transform: scale(1.01) translateX(4px);
  z-index: 1;
}



/* Bonus : sur mobile, texte plus petit */
@media (max-width:540px) {
    .pp-actions .pp-btn { font-size: 0.97rem; padding: 0.55rem 0.81rem;}
}
wp-block-rank-math-toc-block {
    padding: 1rem 1.2rem;
  }
  .bloc-essentiel {
    padding: .9rem 1rem;
  }

.pp-citation-wow .pp-btn-txt { vertical-align: middle;}
.pp-citation-wow .pp-microtext {
  font-size: 1rem;
  color: #000000;
  margin: 0.6rem 0 1rem 0;
  font-style: italic;
  opacity: 0.89;
}
.pp-citation-wow .pp-branding {
  margin-top: 1.1rem;
  font-family: 'Figtree','Caveat', 'Pacifico', 'Quicksand', cursive, sans-serif;
  font-size: 1.05rem;
  color: #FF8C94;
  opacity: 0.86;
  letter-spacing: 0.01em;
}



/* Bonus : sur mobile, texte plus petit */
@media (max-width:540px) {
    .pp-actions .pp-btn { font-size: 0.97rem; padding: 0.55rem 0.81rem;}
}


.surlignage {
  background: linear-gradient(120deg, #fffbe0 70%, #ffe066 100%);
  border-radius: .33em;
  padding: 0 .14em;
  box-decoration-break: clone;
  box-shadow: 0 2px 8px #ffe06622;
  display: inline;
  -webkit-border-radius: .33em;
  -moz-border-radius: .33em;
  -ms-border-radius: .33em;
  -o-border-radius: .33em;
  -webkit-box-decoration-break: clone;
}


@media only screen and (max-width: 599px) {
  .wp-block-image img {
    margin-right: 8px;
    margin-left: 8px;
  }

/* Conteneur principal du header */
.header-flex-container {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 20px !important;
  width: 100% !important;
}

/* Logo aligné à gauche */
.ast-site-identity {
  margin-left: 10px !important;
}

/* Menu burger aligné à droite */
.main-header-bar-navigation {
  margin-right: 10px !important;
}

/* tableau responsive */
.responsive-table {
  display: block;
}

/* phrase du jour */


.responsive-table thead {
  display: none; /* Cache les en-têtes sur mobile */
}

.responsive-table tbody,
.responsive-table tr,
.responsive-table td {
  display: block;
}

.responsive-table tr {
  margin-bottom: 15px;
  border-bottom: 2px solid #ddd;
}

.responsive-table td {
  position: relative;
  padding: 10px 10px 10px 50%;
  border: none;
  border-bottom: 1px solid #eee;
}

.responsive-table td:before {
  content: attr(data-th); /* Utilise l'attribut data-th pour le label */
  position: absolute;
  left: 10px;
  width: 45%;
  padding-right: 10px;
  font-weight: bold;
  white-space: nowrap;
}




}

/* Styles pour améliorer la lisibilité en mode mobile */

@media (max-width: 768px) {
  /* Le conteneur global passe en colonne */
	.header-flex-container {
    flex-direction: column;
    justify-content: space-between;
  }

  /* breadcrumb */
  .rank-math-breadcrumb {
    font-size: 14px;
    font-weight: 800;
  }

  .rank-math-breadcrumb a {
    font-size: 14px;
  }
 .rank-math-breadcrumb .last {
    font-size: 14px;
    font-weight: 800;
  }
  

  .post-modified-info {
  font-size: 12px;
  margin-bottom: 32px;
}

    .responsive-container {
    flex-direction: column;
    align-items: center;
  }
  .responsive-container .button {
    margin-top: 20px;
  }

  .cta-button {
    margin-left: 0;  /* Réinitialise la marge à gauche */
    margin-top: 15px; /* Ajoute un espacement au-dessus */
  }

  .ast-site-identity {
      margin-left: 5px !important;
  }

  .main-header-bar-navigation {
      margin-right: 5px !important;
  }

  /* Assurer l'espacement entre le logo et le menu burger */
  .header-flex-container > * {
      flex: 1 !important;
  }

   #nav_menu-4.widget_nav_menu ul {
        flex-direction: column;
        align-items: center; /* Centre les liens en mode mobile */
    }

    #nav_menu-4.widget_nav_menu ul li {
        margin: 10px 0; /* Ajoute de l'espace entre les liens */
    }
    section[id]{margin-left:50px;}
  .lettre-totem::before{left:-50px;font-size:3rem;}
 
      .sticky-az {
    overflow-x: auto;
    white-space: nowrap;
    display: block;
    scrollbar-width: none;
  }
  .sticky-az::-webkit-scrollbar {
    display: none;
  }
  .wp-block-table{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .wp-block-table table{ min-width:600px; }
}

/* Mode sombre (Prêt pour le futur) */
@media (prefers-color-scheme: dark) {
  /* Tu pourras définir ici tes variables sombres */
}

/* Désactive si l'utilisateur préfère réduire les animations */
@media (prefers-reduced-motion: reduce) {
  .cta-button, .cta-button-gold-orange, .bloc-cta::after {
    animation: none !important;
    transition: none !important;
  }
}
