/*
Theme Name: CODEV
Description: CODEV theme
Theme URI:   https://www.subdelirium.com
Author: Subdelirium
Author URI:  https://www.subdelirium.com
Template: salient
Version: 1.0
*/

@font-face {
    font-family: 'belpastregular';
    src: url('fonts/belpast_regular-webfont.woff2') format('woff2'),
         url('fonts/belpast_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


.post-area .row .col h1,
.material .wpb_text_column h1,
.row .col .wpb_text_column h1 { margin-bottom: 24px; }

.post-area .row .col h2,
.material .wpb_text_column h2,
.row .col .wpb_text_column h2 { margin-bottom: 22px; border-left: 8px solid #2db8c5; padding-left: 18px; }

.post-area .row .col h3,
.material .wpb_text_column h3,
.row .col .wpb_text_column h3,
.accordion h3.toggle-title a { margin-bottom: 20px; border-left: 8px solid #E8526D; padding-left: 16px; color:#2A2F78; }

.post-area .row .col h4,
.material .wpb_text_column h4,
.row .col .wpb_text_column h4 { margin-bottom: 20px; border-left: 8px solid #F7B235; padding-left: 16px; }

.post-area .row .col h5,
.material .wpb_text_column h5,
.row .col .wpb_text_column h5 { margin-bottom: 1em; }

.post-area .row .col h6,
.material .wpb_text_column h6,
.row .col .wpb_text_column h6 { margin-bottom: 1em; }

.post-area .row .col p,
.material .wpb_text_column p,
.row .col .wpb_text_column p { padding-bottom: 1.2em; }

.material .wpb_text_column p:last-child,
.row .col .wpb_text_column p:last-child { margin-bottom: 30px; }

.material  .vc_column-inner .wpb_text_column p:last-child,
.row .col  .vc_column-inner .wpb_text_column p:last-child { margin-bottom: 0; }

.row .col .wpb_text_column h2 strong,
.row .col .post-area .type-post h2 strong,
.row .col .wpb_text_column h3 strong,
.row .col .post-area .type-post h3 strong { font-weight: 900; }

.row .col .wpb_text_column blockquote,
.row .col .post-area .type-post blockquote { margin-bottom: 1em; }
.row .col .wpb_text_column ul,
.material .wpb_text_column ul,
.row .col .post-area .type-post ul { margin-bottom: 1em; }
.row .col .wpb_text_column ul li,
.material .wpb_text_column ul li,
.row .col .post-area .type-post ul li { padding-bottom: 0.3em; }

.nectar-milestone h2 { font-weight: 900; }

.nectar-post-grid .meta-category a.publications,
.nectar-post-grid .meta-category a.sujets-en-cours { display: none; }

.span_12.light .wpb_text_column a:not(:hover) { opacity: 0.8; }

#ajax-content-wrap .nectar-post-grid .meta-category .style-button.a-la-une,
body .nectar-post-grid .meta-category .style-button.a-la-une,
.featured-media-under-header__cat-wrap .meta-category a.a-la-une { display: none; }

.main-content .wpb_text_column a:hover:not(.nectar-cta a),
.post-content .wpb_text_column a:hover:not(.nectar-cta a) { color: #29B7C6; }


.main-content .wpb_text_column a,
.post-content .wpb_text_column a { text-decoration: underline; }

.main-content .nectar-cta a,
.post-content .nectar-cta a { text-decoration: none; }

body .row .col .nectar-post-grid-wrap .nectar-post-grid-item .content h3.post-heading { font-size: 1.6rem !important; }
body .row .col .nectar-post-grid-wrap .nectar-post-grid-item .content h4.post-heading { font-size: 1.6rem !important; }

.nectar-hor-list-item .nectar-list-item-btn { border: 2px solid #D2D3D5; color: #2A2F78; }

body.single-portfolio .span_12.light .wpb_text_column a:not(:hover) { opacity: 1; }

.document-publication img {
width: 100% !important;
height: auto !important;
display: block;
}
.document-publication .nectar-cta {
margin-top: 20px; /* Espace entre l'image et le bouton */
}
			
h1.portfolio-main-title,
.post-area .row .col h1,
.row .col .wpb_text_column h1 {
  display: flex;
  align-items: center;
}

body.single .featured-media-under-header h1::after,
.wpb_text_column h1::after,
h1.portfolio-main-title::after,
.post-area .row .col h1::after,
.row .col .wpb_text_column h1::after {
  content: "";
  display: inline-block;
  width: 35px;  /* Largeur de votre image */
  height: 50px; /* Hauteur de votre image */
  margin-left: 10px;
  background-image: url('petale.png');
  background-size: contain;
  background-repeat: no-repeat;
}

.row .col .wpb_text_column.picto-titre h1 { border-left:none; color:#2A2F78; background:transparent url(dropcap.png) left top no-repeat; background-size: contain; padding:10px 0 10px 50px; }

.row .col .wpb_text_column.picto-titre h3 { border-left:none; color:#2A2F78; background:transparent url(dropcap.png) left top no-repeat; background-size: contain; padding:10px 0 10px 50px; }

.row .light .col .wpb_text_column.picto-titre h1,
.row .light .col .wpb_text_column.picto-titre h2,
.row .light .col .wpb_text_column.picto-titre h3 { border-left:none; background-image: url(dropcap-b.png);  color: white; }

.row .light .col .wpb_text_column h2,
.row .light .col .post-area .type-post h2,
.row .light .col .wpb_text_column h3,
.row .light .col .post-area .type-post h3,
.row .light .col .wpb_text_column h4,
.row .light .col .post-area .type-post h4 { border-color: #ffffff; color: #ffffff; }

.row .light .col .wpb_text_column .bullet-list ul li { color: white; }

.accordion h3.toggle-title a { padding-top: 0; padding-bottom: 0; margin-top: 24px; margin-bottom: 24px; }

.wpcf7-form p span { color: #2A2F78; }


.suivi-citoyen ul {
  list-style: none; /* Supprime les points noirs par défaut */
  padding-left: 0;   /* Aligne la liste à gauche */
  margin-left: 0;
}

.suivi-citoyen ul li {
  position: relative;
  list-style: none;
  padding-left: 30px; /* Espace pour laisser de la place au check */
  margin-bottom: 10px;
}

.suivi-citoyen ul li::before {
  content: '✓';      /* Le symbole du check */
  position: absolute;
  left: 0;
  font-weight: bold;
}


/* Couleurs spécifiques des pavés */
.bloc-turquoise,
.bloc-rose,
.bloc-jaune {
    padding:7%;
    border-radius:15px;
}

.bloc-turquoise {
    background-color: #29B7C6;
    color: #fff;
}
.row .col .bloc-turquoise .wpb_text_column h4,
.row .col .bloc-turquoise .wpb_text_column p {
    color: #fff;
}

.bloc-rose {
    background-color: #E8526D;
    color: #fff;
}
.row .col .bloc-rose .wpb_text_column h4,
.row .col .bloc-rose .wpb_text_column p {
    color: #fff;
}


.bloc-jaune {
    background-color: #F7B235;
    color: #2A2F78;
}
.row .col .bloc-jaune .wpb_text_column h4,
#trombi-qui-sommes-nous h4.post-heading {
    margin-bottom: 15px;
    border-left: 8px solid #E8526D;
    padding-left: 16px;
}
.row .col .bloc-jaune .wpb_text_column h4,
.row .col .bloc-jaune .wpb_text_column p {
    color: #2A2F78;
}


.portfolio-block .mode-description { font-size:0.9em; }
.material .wpb_text_column .portfolio-block p:last-child {  margin-bottom: 0; padding-bottom: 0; }

.testimonial_slider blockquote p {
  padding-bottom: 30px;
  line-height: normal;
}

#trombi-qui-sommes-nous .nectar-post-grid-wrap .nectar-post-grid-item .content {
  background-color: #fff !important;
  position: relative !important;
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  width: auto !important;
  max-width: auto !important;
  height: auto !important;
  padding: 25px 30px 25px 25px !important;
  border-top-right-radius: 0 !important;
}
#trombi-qui-sommes-nous .nectar-post-grid-wrap .nectar-post-grid-item .content::before {
  display: none;
}

#header-outer #top nav > ul.sf-menu > li.current_page_item > a,
body.single-post #header-outer #top nav > ul.sf-menu > li.menu-item-2385 > a,
body.project-type-publications #header-outer #top nav > ul.sf-menu > li.menu-item-2258 > a,
body.project-type-sujets-en-cours #header-outer #top nav > ul.sf-menu > li.menu-item-1842 > a { color: #29B7C6 !important; }

/* 1. On définit le conteneur global comme la zone de référence */
.nectar-post-grid-item {
    position: relative !important;
}

/* 2. On crée un calque cliquable qui part du lien mais couvre toute la carte */
.nectar-post-grid-item a.nectar-post-grid-link::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10; /* Doit être au-dessus de l'image et du texte */
    display: block;
}

/* 3. Sécurité : on s'assure que le texte et les boutons restent lisibles 
      (mais le clic passera par le calque du dessus) */
.nectar-post-grid-item .content {
    pointer-events: none; 
}

/* 4. On redonne la main au survol pour le curseur */
.nectar-post-grid-item:hover {
    cursor: pointer;
}
/* On force tous les parents à laisser passer le débordement du lien */
.nectar-post-grid-item .inner, 
.nectar-post-grid-item .content {
    position: static !important;
}

.nectar-post-grid-item {
    position: relative !important;
}

.nectar-post-grid-item a.nectar-post-grid-link {
    position: absolute !important;
    inset: 0 !important; /* Couvre tout */
    z-index: 99 !important;
    text-indent: -9999px; /* Cache le texte du lien s'il y en a */
}


#top #logo img { margin-bottom: -24px; }

.border-blanc h2, .border-blanc h3, .border-blanc h4 { border-color: #ffffff !important; }

body.material #search-outer > #search form {
  border-left: 8px solid #E8526D; padding-left: 16px; color: #2A2F78;
}

.nectar-recent-posts-single_featured .grav-wrap .text a {
  border-left: 8px solid #E8526D; padding-left: 16px; 
}

.cadre-blur {
background-color: rgba(255, 255, 255, 0.2); 
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border-radius: 16px; 
/*padding: 20px; */
}

.testimonial_slider[data-style="multiple_visible"][data-color*="-color"] blockquote.is-selected p::before {
  color: #2db8c5 !important; opacity: 1;
}


body.home .nectar-recent-posts-single_featured .nectar-recent-post-slide .nectar-recent-post-bg::after {
  background-color: rgba(2,2,2,.20);
}

body.category .post-area { padding: 5% 0; }
.masonry.material .masonry-blog-item .meta-category { padding-top: 24px; }
.masonry.material .masonry-blog-item .meta-category a { padding: 6px 16px; background-color: #2A2F78; color: #fff !important; border-radius: 20px; }
.masonry.material .masonry-blog-item .meta-category a:hover { background-color: #29B7C6; }
.masonry.material .masonry-blog-item .inner-wrap { border-radius: 15px; }
.masonry.material .masonry-blog-item .article-content-wrap,
.masonry.material .masonry-blog-item h3 { color: #2A2F78; line-height: 1.2em; }
body.category .masonry.material .masonry-blog-item .article-content-wrap,
body.category .masonry.material .masonry-blog-item .meta-category { background-color: #F7B235; }
body.category .masonry.material .masonry-blog-item .meta-category a::before { height: 0; }

/* Conteneur principal en Flexbox */
.formulaire-newsletter-inline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px; /* Espace entre le champ et le bouton, à ajuster selon vos goûts */
    width: 100%;
    max-width: 600px; /* Largeur maximale du formulaire */
    margin: 0 auto; /* Permet de centrer le formulaire si besoin */
}

/* Le champ e-mail prend tout l'espace restant */
.formulaire-newsletter-inline .champ-email {
    flex: 1; 
}

/* S'assure que l'input remplit bien son conteneur */
.formulaire-newsletter-inline input[type="email"] {
    width: 100%;
    margin-bottom: 0; /* Retire la marge par défaut souvent ajoutée par les thèmes */
}

/* Style du conteneur du bouton */
.formulaire-newsletter-inline .bouton-envoyer {
    flex-shrink: 0; /* Empêche le bouton de s'écraser */
}

/* S'assure que le bouton n'a pas de marge en bas */
.formulaire-newsletter-inline input[type="submit"] {
    margin-bottom: 0;
    white-space: nowrap; /* Empêche le texte du bouton de passer sur deux lignes */
}

/* Optionnel : Passer sur 2 lignes sur les tout petits écrans (mobiles) */
@media (max-width: 480px) {
    .formulaire-newsletter-inline {
        flex-direction: column;
    }
    .formulaire-newsletter-inline .bouton-envoyer {
        width: 100%;
    }
    .formulaire-newsletter-inline input[type="submit"] {
        width: 100%;
    }
}

/* --- CSS POUR LA LISTE À PUCES PERSONNALISÉE --- */
/* Conteneur principal */
.bullet-list { 
  max-width: 1000px; 
  width: 100%; 
  margin: 0 auto; 
}

/* Supprime le style de liste par défaut de WordPress */
.bullet-list ul { 
  list-style: none; 
  margin: 0; 
  padding: 0; 
}

/* Style de chaque point (les blocs roses) */
.bullet-list ul li {

  border-radius: 16px;
  padding: 25px 25px 25px 70px !important;
  margin-bottom: 15px;
  position: relative;
  color: #2c2e78;
  list-style: none;

  background-color: rgba(255, 255, 255, 0.2); 
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Positionnement des icônes (FontAwesome) à l'intérieur des blocs */
.bullet-list i {
  color: #ea516d;
  font-size: 28px;
  left: 25px;
  margin-top: -14px;
  position: absolute;
  top: 50%;

}
.icone-fantome {
    display: none !important;
}

/* ==========================================================================
   PORTFOLIO SINGLE - HAUT DE PAGE SUR MESURE
   ========================================================================== */
body.project-type-sujets-en-cours .portfolio-custom-layout {
    /*background-color: #f7e8e1;*/
}


body.project-type-publications .portfolio-custom-layout {
    background-color: #f7e8e1;
}

body.single-portfolio .bottom_controls { margin-top: 0; }
.portfolio-header-row {
    padding-top: 4%;
    padding-bottom: 4%;
}

.portfolio-main-title {
    margin-bottom: 40px;
    color: #2A2F78;
}

/* Image à la une */
.portfolio-featured-image {
    display: block;
}
.portfolio-img-radius {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

/* Introduction */
.portfolio-intro {
    font-size: 1.1em;
    line-height: 1.6;
    color: #2A2F78;
    font-weight: 500;
}

/* Pavés latéraux (Styles communs) */
.portfolio-block {
    padding: 10% 12%;
    border-radius: 15px;
    margin-bottom: 20px;
}
.portfolio-block-title {
    color: #fff;
    margin: 0;
    /* On ajoute la bordure jaune et l'espacement */
    border-left: 8px solid #F7B235;
    padding-left: 16px;
}

/* Couleurs spécifiques des pavés */
.block-lancement {
    background-color: #29B7C6;
    color: #fff;
}
.block-mode {
    background-color: #E8526D;
    color: #fff;
}
.block-trombi {
    background-color: #F7B235;
    color: #2A2F78;
}

/* Typographie interne des pavés */
.lancement-label {
    display: block;
    font-size: 0.8em;
    font-weight: 400;
}

.material .wpb_text_column h4.trombi-role-title,
h4.trombi-role-title {
    color: #2A2F78;
    margin-bottom: 15px;
    /* On ajoute la bordure blanche et l'espacement */
    border-left: 8px solid #E8526D;
    padding-left: 16px;
}
.trombi-grid {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 25px;
}

/* Effet de survol sur les membres */
.trombi-member-link {
    display: block;
    transition: transform 0.2s ease;
}
.trombi-member-link:hover {
    transform: scale(1.1);
}

/* Avatars du trombinoscope */
.trombi-avatar {
    width: 54px;
    height: 54px;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.trombi-avatar-placeholder {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: #97CC64;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

/* On force le membre survolé à passer au-dessus de tous ses voisins */
.trombi-member-link:hover {
    z-index: 99 !important;
}

/* On s'assure que le bloc orange n'empêche pas les bulles de sortir */
.portfolio-block.block-trombi {
    overflow: visible !important;
}

.row .col .trombi-grid img { margin-bottom: 0; }

.silhouette { background-color:#97CC64; }
#trombi-qui-sommes-nous .nectar-post-grid-wrap[data-style="content_under_image"] .nectar-post-grid[data-lock-aspect="yes"] .nectar-post-grid-item-bg { min-height: 238px; background-color: #97CC64; }


/* ==========================================================================
   INFOBULLE (TOOLTIP) DU TROMBINOSCOPE
   ========================================================================== */
/* Position relative obligatoire sur le lien pour que la bulle se cale par rapport à lui */
.trombi-member-link {
    display: block;
    position: relative; 
    transition: transform 0.2s ease;
    text-decoration: none !important;
}

.trombi-member-link:hover {
    transform: scale(1.1);
}

/* Style de la bulle (cachée par défaut) */
.trombi-tooltip {
    position: absolute;
    top: 100%; /* Place la bulle en dessous de l'image */
    left: 50%; /* Centre la bulle */
    transform: translateX(-50%) translateY(10px); /* Ajuste le centrage parfait et la décale un peu vers le bas */
    
    background-color: #29B7C6; /* Votre bleu turquoise */
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 0.85em;
    font-weight: 600;
    white-space: nowrap; /* Empêche le nom de passer sur 2 lignes */
    pointer-events: none; /* Empêche la bulle de bloquer le clic sur le lien */
    z-index: 200;
    
    /* Animation pour cacher/afficher */
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* La petite flèche de la bulle (pointant vers le haut) */
.trombi-tooltip::after {
    content: "";
    position: absolute;
    bottom: 100%; /* Place la flèche au sommet de la bulle */
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    /* La flèche prend la même couleur que le fond */
    border-color: transparent transparent #29B7C6 transparent; 
}

/* Affichage de la bulle au survol */
.trombi-member-link:hover .trombi-tooltip {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(5px); /* Fait légèrement remonter la bulle lors de l'apparition */
}


/* ==========================================================================
   TIMELINE DES STADES (nectar_post_grid) - MULTICOLORE
   ========================================================================== */
/* Conteneur des pastilles */
.grid-stades-dots-container {
    display: flex !important;
    gap: 10px !important;
    margin-top: 15px !important;
    position: relative !important;
    z-index: 100 !important;
}

/* Style des points */
.grid-dot {
    width: 12px !important;
    height: 12px !important;
    border-radius: 50% !important;
    display: inline-block !important;
    position: relative !important;
    cursor: help !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}

/* Infobulle au survol */
.grid-dot:hover::after {
    content: attr(data-stade);
    position: absolute;
    bottom: 180%;
    left: 50%;
    transform: translateX(-50%);
    background: #ffffff;
    color: #2a2f78; /* Votre bleu foncé */
    padding: 5px 10px;
    font-size: 11px;
    font-weight: 700;
    border-radius: 4px;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    z-index: 9999;
}

/* On force l'affichage du contenu Salient pour ne pas couper les bulles */
.nectar-post-grid-item .content {
    overflow: visible !important;
}




/* ==========================================================================
   TIMELINE DES STADES (PORTFOLIO) - MULTICOLORE
   ========================================================================== */

.portfolio-stades-wrap {
    padding: 20px 0;
    border-radius: 15px;
	position: relative;
    z-index: 100;
}

.row h4.stades-main-title {
  border-left: 8px solid #E8526D; padding-left: 16px;
    color: #2A2F78;
    margin-bottom: 40px;
}

.stades-timeline {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.stades-line-bg {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 4px;
    background-color: #e5e5e540;
    transform: translateY(-50%);
    z-index: 1;
    border-radius: 2px;
}

.stades-line-progress {
    position: absolute;
    top: 50%;
    left: 0;
    height: 4px;
    transform: translateY(-50%);
    z-index: 2;
    border-radius: 2px;
    transition: width 0.5s ease;
}

.stade-step {
    position: relative;
    z-index: 3;
    cursor: help;
}

/* La pastille par défaut : bordure colorée, centre blanc */
.stade-dot {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #fff;
    border: 4px solid var(--dot-color);
    transition: all 0.3s ease;
}

/* La pastille complétée : fond coloré */
.stade-step.completed .stade-dot {
    background-color: var(--dot-color);
}

/* La pastille en cours : effet double anneau */
.stade-step.active .stade-dot {
    background-color: var(--dot-color);
    border-color: #fff;
    box-shadow: 0 0 0 4px var(--dot-color);
    transform: scale(1.2);
}

.portfolio-stades-wrap h3.stades-main-title {
  margin-bottom:20px;
  border-left:none;
  padding-left: unset;
  color: #ffffff;
}

/* L'infobulle : entièrement colorée avec la couleur de la pastille */
.stade-tooltip {
    position: absolute;
    bottom: 150%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    width: max-content;
    max-width: 250px;
    background-color: var(--dot-color);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
    z-index: 100;
}

/* La flèche de l'infobulle (pointe vers le bas et prend la couleur) */
.stade-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px;
    border-style: solid;
    border-color: var(--dot-color) transparent transparent transparent;
}

.stade-step:hover {
    z-index: 999;
}

.stade-step:hover .stade-tooltip {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.stade-tooltip-desc {
    font-size: 0.9em;
    line-height: 1.4;
    white-space: normal;
}

.stade-active-description {
    color: #2A2F78;
    font-size: 1.05em;
    line-height: 1.6;
    padding-left: 15px;
    border-left: 4px solid;
}

/* === CORRECTIONS DES BULLES D'INFO === */
/* 1. On force la bulle du PREMIER point à s'aligner à gauche */
.stades-timeline .stade-step:nth-child(3) .stade-tooltip {
    left: 0 !important;
    transform: none !important;
    margin-left: -10px !important; /* Ajuste pour ne pas coller au bord */
}

/* 2. On déplace la petite flèche pour qu'elle reste au dessus du point rose */
.stades-timeline .stade-step:nth-child(3) .stade-tooltip::after {
    left: 20px !important;
    transform: none !important;
}

/* 3. Sécurité pour le DERNIER point (pour éviter qu'il dépasse à droite) */
.stades-timeline .stade-step:last-child .stade-tooltip {
    left: auto !important;
    right: 0 !important;
    transform: none !important;
    margin-right: -10px !important;
}

/* 4. On déplace la flèche du dernier point vers la droite */
.stades-timeline .stade-step:last-child .stade-tooltip::after {
    left: auto !important;
    right: 20px !important;
    transform: none !important;
}

/* ==========================================================================
   EFFET CUTOUT (ARRONDI INVERSÉ) SUR LES POST GRIDS (SALIENT MAG)
   ========================================================================== */

/* 1. On masque le voile sombre (dégradé) natif de Salient sur l'image */
.nectar-post-grid-wrap .nectar-post-grid-item .bg-overlay {
    opacity: 0 !important; 
    transition: opacity 0.3s ease;
}

/* Optionnel : on remet un léger voile au survol pour l'interactivité */
.nectar-post-grid-wrap .nectar-post-grid-item:hover .bg-overlay {
    opacity: 0.2 !important; 
}

/* 2. Le cartouche de texte (fond blanc, placé en bas à gauche) */
.nectar-post-grid-wrap .nectar-post-grid-item .content {
    background-color: #F7B235 !important; 
    position: absolute !important;
    top: auto !important; 
    bottom: 0 !important;
    left: 0 !important;
    
    /* LA CORRECTION EST ICI : 80% sur mobile, mais jamais plus de 450px sur grand écran ! */
    width: 80% !important; 
    max-width: 450px !important; 
    
    height: auto !important; 
    padding: 25px 30px 25px 25px !important; 
    border-top-right-radius: 25px !important; 
}

/* 3. On force tous les textes en bleu foncé (y compris les grands titres mis en avant) */
.nectar-post-grid-wrap .nectar-post-grid-item .content .post-heading,
.nectar-post-grid-wrap .nectar-post-grid-item .content h2,
.nectar-post-grid-wrap .nectar-post-grid-item .content h3,
.nectar-post-grid-wrap .nectar-post-grid-item .content h4,
.nectar-post-grid-wrap .nectar-post-grid-item .content .meta-author a,
.nectar-post-grid-wrap .nectar-post-grid-item .content .meta-category a,
.nectar-post-grid-wrap .nectar-post-grid-item .content .meta-date {
    color: #2A2F78 !important; 
}

/* 4. L'effet magique : Les courbes inversées */

/* Courbe au-dessus du cartouche */
.nectar-post-grid-wrap .nectar-post-grid-item .content::before {
    content: "";
    position: absolute;
    bottom: 100%; /* Juste au-dessus du cartouche */
    left: 0;
    width: 25px; /* Taille de la courbe */
    height: 25px;
    /* Un cercle transparent en haut à droite, et du blanc en bas à gauche */
    background: radial-gradient(circle at 100% 0%, transparent 25px, #F7B235 26px);
    pointer-events: none;
    z-index: 10;
}

/* Courbe à droite du cartouche */
.nectar-post-grid-wrap .nectar-post-grid-item .content::after {
    content: "";
    position: absolute;
    bottom: 0; 
    left: 100%; /* Juste à droite du cartouche */
    width: 25px; /* Taille de la courbe */
    height: 25px;
    /* Le même cercle transparent en haut à droite, et du blanc en bas à gauche */
    background: radial-gradient(circle at 100% 0%, transparent 25px, #F7B235 26px);
    pointer-events: none;
    z-index: 10;
}

#sujets-en-cours .nectar-post-grid-wrap .nectar-post-grid-item .content {
    background-color: #2A2F78 !important; 
}
#sujets-en-cours .nectar-post-grid-wrap .nectar-post-grid-item .content::before {
    background: radial-gradient(circle at 100% 0%, transparent 25px, #2A2F78 26px);
}
#sujets-en-cours .nectar-post-grid-wrap .nectar-post-grid-item .content::after {
    background: radial-gradient(circle at 100% 0%, transparent 25px, #2A2F78 26px);
}

#publications .nectar-post-grid-wrap .nectar-post-grid-item .content {
    background-color: #174F63 !important; 
}
#publications .nectar-post-grid-wrap .nectar-post-grid-item .content::before {
    background: radial-gradient(circle at 100% 0%, transparent 25px, #174F63 26px);
}
#publications .nectar-post-grid-wrap .nectar-post-grid-item .content::after {
    background: radial-gradient(circle at 100% 0%, transparent 25px, #174F63 26px);
}


/* ==========================================================================
   CAPSULE CATÉGORIE FLOTTANTE (AU-DESSUS DU CARTOUCHE)
   ========================================================================== */

/* 1. On sort le conteneur de la catégorie du cartouche blanc */
.nectar-post-grid-wrap .nectar-post-grid-item .content .meta-category {
    position: absolute !important;
    bottom: 100% !important; /* On la place exactement au-dessus du bord haut du cartouche */
    left: 25px !important; /* On l'aligne avec le texte en dessous (qui a un padding de 25px) */
    margin-bottom: 15px !important; /* Espace pour ne pas coller au cartouche blanc */
    z-index: 20 !important;
}

/* 2. On donne la forme de capsule bleue au lien de la catégorie */
.nectar-post-grid-wrap .nectar-post-grid-item .content .meta-category a {
    
    color: #ffffff !important; /* Texte en blanc */
    box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important; /* Petite ombre pour la détacher de l'image */
}

/* 3. Optionnel : effet au survol de la capsule */
.nectar-post-grid-wrap .nectar-post-grid-item .content .meta-category a:hover {
    background-color: #2db8c5 !important; /* Passe en turquoise au survol */
    transform: translateY(-2px);
    transition: all 0.2s ease;
}