.elementor-26559 .elementor-element.elementor-element-0799712.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-26559 .elementor-element.elementor-element-c999d01.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-26559 .elementor-element.elementor-element-10c9516{width:100%;max-width:100%;--grid-side-margin:12px;--grid-column-gap:12px;--grid-row-gap:12px;--grid-bottom-margin:12px;}.elementor-26559 .elementor-element.elementor-element-10c9516 .elementor-share-btn{font-size:calc(1.1px * 10);}.elementor-26559 .elementor-element.elementor-element-10c9516 .elementor-share-btn__icon{--e-share-buttons-icon-size:2em;}.elementor-26559 .elementor-element.elementor-element-10c9516 .elementor-share-btn__title{font-family:"Stack Sans", Stack Sans Text, Sans-serif;font-weight:400;}.elementor-26559 .elementor-element.elementor-element-a304104 .elementor-button{background-color:var( --e-global-color-64fc235 );fill:#4C0297;color:#4C0297;border-radius:10px 10px 10px 10px;padding:16px 16px 16px 16px;}.elementor-26559 .elementor-element.elementor-element-a304104{width:100%;max-width:100%;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-a3804fd );border-radius:10px 10px 10px 10px;}.elementor-26559 .elementor-element.elementor-element-a304104.elementor-element{--align-self:center;}.elementor-26559 .elementor-element.elementor-element-a304104 .elementor-button-content-wrapper{flex-direction:row;}.elementor-26559 .elementor-element.elementor-element-a304104 .elementor-button .elementor-button-content-wrapper{gap:8px;}#elementor-popup-modal-26559 .dialog-widget-content{background-color:#21232000;border-style:solid;border-radius:10px 10px 10px 10px;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);margin:0px 0px 0px 0px;}#elementor-popup-modal-26559{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-26559 .dialog-message{width:60vw;height:auto;padding:0px 0px 0px 0px;}@media(max-width:1280px){.elementor-26559 .elementor-element.elementor-element-a304104{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}#elementor-popup-modal-26559 .dialog-message{width:80vw;}}@media(max-width:1024px){ .elementor-26559 .elementor-element.elementor-element-10c9516{--grid-side-margin:12px;--grid-column-gap:12px;--grid-row-gap:12px;--grid-bottom-margin:12px;}#elementor-popup-modal-26559 .dialog-message{width:100vw;}}@media(max-width:720px){ .elementor-26559 .elementor-element.elementor-element-10c9516{--grid-side-margin:12px;--grid-column-gap:12px;--grid-row-gap:12px;--grid-bottom-margin:12px;}.elementor-26559 .elementor-element.elementor-element-a304104{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}#elementor-popup-modal-26559 .dialog-message{width:100vw;}}/* Start custom CSS for html, class: .elementor-element-0799712 *//* ============================================================
   MODALE — PARTAGE CHAPITRE, PARTIE ET TABLE DES MATIÈRES

   BLOCS
   .share-scope      : chapitre avec sélection du passage
   .partage-partie   : partie ou TDM, copie du lien uniquement

   SOMMAIRE
   1. Couleurs par défaut
   2. Thèmes des chapitres
   3. Titres Elementor associés
   4. Variables locales des blocs
   5. Encadrés et base commune
   6. Titres intégrés
   7. Libellés
   8. Champs
   9. Sélecteur de passage
   10. Ligne du lien et du bouton
   11. Boutons Copier
   12. Icônes Copier
   13. Aide et confirmation
   14. Media queries
   ============================================================ */


/* ============================================================
   1. COULEURS PAR DÉFAUT

   TDM : accent Primary.
   Les thèmes des chapitres remplacent ces variables.
   ============================================================ */

body {
  --modal-share-accent: var(--Primary, #4C0297);
  --modal-share-tint: var(--Violet-50-Lavande, #F3ECFA);
  --modal-share-border: var(--Primary, #4C0297);
}


/* ============================================================
   2. THÈMES DES CHAPITRES

   Variables sur body pour être accessibles aux popups,
   même lorsqu'elles sont hors de .chapitre-wrapper.
   ============================================================ */

/* Partie 1 — Bleu */
body:has(
  .chapitre-wrapper.pour-une-bifurcation-ecologique-et-sociale,
  .chapitre-wrapper .pour-une-bifurcation-ecologique-et-sociale
) {
  --modal-share-accent: var(--Bleu-Ciel-700-Marine, #1B5FAA);
  --modal-share-tint: var(--Bleu-Ciel-50, #EAF3FC);
  --modal-share-border: var(--Bleu-Ciel-700-Cobalt, #16458A);
}

/* Partie 2 — Orange */
body:has(
  .chapitre-wrapper.une-economie-au-service-des-besoins,
  .chapitre-wrapper .une-economie-au-service-des-besoins
) {
  --modal-share-accent: var(--Orange-700-Cuivre, #B04E00);
  --modal-share-tint: var(--Orange-50, #FFF1E6);
  --modal-share-border: var(--Orange-500, #D97A2B);
}

/* Partie 3 — Vert */
body:has(
  .chapitre-wrapper.mettre-en-securite-sociale,
  .chapitre-wrapper .mettre-en-securite-sociale
) {
  --modal-share-accent: var(--Vert_500, #2E7D32);
  --modal-share-tint: var(--Vert_50, #EAF5EA);
  --modal-share-border: var(--Vert-Alt-500-Base, #256B29);
}

/* Partie 4 — Jaune */
body:has(
  .chapitre-wrapper.le-gout-du-futur-aux-nouvelles-frontieres-de-l-humanite,
  .chapitre-wrapper .le-gout-du-futur-aux-nouvelles-frontieres-de-l-humanite
) {
  --modal-share-accent: var(--Jaune-900-Ocre, #8B4500);
  --modal-share-tint: var(--Jaune-50-Citron, #FEF8DC);
  --modal-share-border: var(--Jaune-700-Miel, #B5651D);
}

/* Partie 5 — Rouge */
body:has(
  .chapitre-wrapper.fonder-la-6e-republique,
  .chapitre-wrapper .fonder-la-6e-republique
) {
  --modal-share-accent: var(--Rouge-700-Carmin, #B02A2A);
  --modal-share-tint: var(--Rouge-50-Rosee, #FCEAEA);
  --modal-share-border: var(--Rouge-700-Carmin, #B02A2A);
}

/* Partie 6 — Violet */
body:has(
  .chapitre-wrapper.un-monde-ordonne,
  .chapitre-wrapper .un-monde-ordonne
) {
  --modal-share-accent: var(--Violet-700-Pourpre, #6A2E8E);
  --modal-share-tint: var(--Violet-50-Lavande, #F3ECFA);
  --modal-share-border: var(--Violet-900-Nuit, #3D1856);
}

/* Introduction — Gris */
body:has(
  .chapitre-wrapper.introduction,
  .chapitre-wrapper main.chapitre.introduction
) {
  --modal-share-accent: var(--Cendres, #7A7264);
  --modal-share-tint: var(--Blanc-casse, #FFFCF4);
  --modal-share-border: var(--Cendres, #7A7264);
}


/* ============================================================
   3. TITRES ELEMENTOR ASSOCIÉS

   Classes à ajouter aux widgets à colorer :
   .share-chapter-title
   .share-partie-title

   La variable fournie par le script est prioritaire.
   Sinon : couleur du chapitre, puis Primary.
   ============================================================ */

:is(.share-chapter-title, .share-partie-title),
:is(.share-chapter-title, .share-partie-title) :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .elementor-heading-title,
  .e-heading-base
) {
  color:
    var(
      --partage-partie-titre-couleur,
      var(--modal-share-accent, var(--Primary, #4C0297))
    )
    !important;

  overflow-wrap: break-word;
}


/* ============================================================
   4. VARIABLES LOCALES DES BLOCS
   ============================================================ */

/* Chapitre */
.share-scope {
  --share-accent:
    var(--modal-share-accent, var(--Primary, #4C0297));

  --share-tint:
    var(--modal-share-tint, var(--Violet-50-Lavande, #F3ECFA));

  --share-border:
    var(--modal-share-border, var(--Primary, #4C0297));
}

/* Partie / Table des matières

   Le script définit --pp-accent, --pp-fond et --pp-bordure.
   Sans ces variables : couleur Primary.
*/
.partage-partie {
  --share-accent:
    var(--pp-accent, var(--Primary, #4C0297));

  --share-tint:
    var(--pp-fond, var(--Violet-50-Lavande, #F3ECFA));

  --share-border:
    var(--pp-bordure, var(--Primary, #4C0297));
}

/* Réglages communs */
.share-scope,
.partage-partie {
  --share-surface: var(--Blanc-casse, #FFFCF4);

  --share-body-font:
    var(--Textes, "Stack Sans Text", "Stack Sans"), sans-serif;

  --share-icon-duo:
    var(--fa-family-slab-duo, "Font Awesome 7 Slab Duo");

  --share-icon-press-duo:
    var(--fa-family-slab-press-duo, "Font Awesome 7 Slab Press Duo");

  --share-gap: var(--Space1, 8px);
  --share-block-gap: var(--Space1-5, 12px);

  --share-field-height: 48px;
  --share-radius: var(--Radius-10, 10px);

  --share-icon-secondary-opacity: 0.25;
}


/* ============================================================
   5. ENCADRÉS ET BASE COMMUNE
   ============================================================ */

.share-scope,
.partage-partie {
  display: flex;
  flex-direction: column;
  gap: var(--share-block-gap);

  width: 100%;
  max-width: 100%;
  min-width: 0;

  margin: 0;
  padding: var(--Space2, 16px);

  color: var(--share-accent);
  background: var(--share-tint);

  border: 1px solid var(--share-border);
  border-radius: var(--share-radius);

  font-family: var(--share-body-font);
  font-size: 16px;
  line-height: 1.4;
}

:is(.share-scope, .partage-partie),
:is(.share-scope, .partage-partie) *,
:is(.share-scope, .partage-partie) *::before,
:is(.share-scope, .partage-partie) *::after {
  box-sizing: border-box;
}


/* ============================================================
   6. TITRES INTÉGRÉS

   Ces styles s'appliquent uniquement si un titre est présent
   dans le HTML du bloc.
   ============================================================ */

.share-scope > .share-scope-heading,
.partage-partie > .partage-partie-titre {
  display: block;
  position: static;

  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;

  margin: 0 0 4px;
  padding: 0;

  color: var(--share-accent) !important;
  background: transparent;

  border: 0;

  font-family: var(--share-body-font);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;

  text-transform: none !important;
  overflow-wrap: break-word;
}


/* ============================================================
   7. LIBELLÉS
   ============================================================ */

.share-scope .share-scope-label,
.share-scope .share-scope-url-label,
.partage-partie .partage-partie-label {
  min-width: 0;
  margin: 0;
  padding: 0;

  color: var(--share-accent);

  font-family: var(--share-body-font);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.share-scope .share-scope-url-label,
.partage-partie .partage-partie-label {
  display: flex;
  flex-direction: column;
  gap: var(--share-gap);

  flex: 1 1 0;
}


/* ============================================================
   8. CHAMPS
   ============================================================ */

.share-scope .share-scope-select,
.share-scope .share-scope-url,
.partage-partie .partage-partie-url {
  display: block;

  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: var(--share-field-height);

  margin: 0;
  padding: 11px 12px;

  color: var(--share-accent) !important;
  background-color: var(--share-surface);

  border: 1px solid var(--share-border);
  border-radius: var(--share-radius);
  box-shadow: none;

  font-family: var(--share-body-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;

  transition: border-color 0.15s ease;
}

.share-scope .share-scope-select {
  cursor: pointer;
}

.share-scope .share-scope-url,
.partage-partie .partage-partie-url {
  cursor: text;
  text-overflow: ellipsis;
}

.share-scope .share-scope-url::placeholder,
.partage-partie .partage-partie-url::placeholder {
  color: var(--share-accent);
  opacity: 0.65;
}

.share-scope .share-scope-url::selection,
.partage-partie .partage-partie-url::selection {
  color: var(--share-surface);
  background: var(--share-accent);
}

.share-scope .share-scope-select:hover,
.share-scope .share-scope-url:hover,
.partage-partie .partage-partie-url:hover {
  border-color: var(--share-accent);
}

.share-scope .share-scope-select:focus-visible,
.share-scope .share-scope-url:focus-visible,
.partage-partie .partage-partie-url:focus-visible {
  outline: 2px solid var(--share-accent);
  outline-offset: 3px;
}


/* ============================================================
   9. SÉLECTEUR DE PASSAGE — CHAPITRE UNIQUEMENT

   Chevron Slab Duo → Slab Press Duo.
   ============================================================ */

.share-scope .share-scope-label {
  --dropdown-icon-font: var(--share-icon-duo);

  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: var(--share-gap);
}

/* Menu et chevrons dans la même cellule */
.share-scope .share-scope-label > .share-scope-select {
  grid-column: 1;
  grid-row: 2;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  padding-inline-end: 48px;

  background-image: none !important;
}

/* Calques du chevron */
.share-scope .share-scope-label::before,
.share-scope .share-scope-label::after {
  content: "\f107";

  grid-column: 1;
  grid-row: 2;

  align-self: center;
  justify-self: end;

  position: relative;
  z-index: 1;

  display: block;

  margin: 0;
  margin-inline-end: 16px;
  padding: 0;

  color: var(--share-accent);

  font-family: var(--dropdown-icon-font) !important;
  font-size: 18px;
  font-weight: 400 !important;
  font-style: normal;
  line-height: 1;

  letter-spacing: normal;
  text-transform: none;

  transform: none;
  pointer-events: none;
}

.share-scope .share-scope-label::before {
  font-feature-settings: normal;
  opacity: 1;
}

.share-scope .share-scope-label::after {
  font-feature-settings: "ss01";
  opacity: var(--share-icon-secondary-opacity);
}

.share-scope .share-scope-label:has(
  > .share-scope-select:is(:hover, :focus)
) {
  --dropdown-icon-font: var(--share-icon-press-duo);
}


/* ============================================================
   10. LIGNE DU LIEN ET DU BOUTON
   ============================================================ */

.share-scope .share-scope-link-group,
.partage-partie .partage-partie-ligne {
  display: flex;

  align-items: flex-end;
  gap: var(--share-gap);

  width: 100%;
  min-width: 0;
}


/* ============================================================
   11. BOUTONS COPIER
   ============================================================ */

.share-scope button.share-scope-copy,
.partage-partie button.partage-partie-copier {
  display: inline-flex;

  align-items: center;
  justify-content: center;
  gap: var(--share-gap);

  flex: 0 0 auto;

  min-height: var(--share-field-height);
  max-width: 100%;

  margin: 0;
  padding: 11px 16px;

  color: var(--share-surface) !important;
  background-color: var(--share-accent) !important;
  background-image: none !important;

  border: 1px solid var(--share-accent);
  border-radius: var(--share-radius);
  box-shadow: none;

  font-family: var(--share-body-font);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;

  text-align: center;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  white-space: nowrap;

  cursor: pointer;

  transform: none;
  transition: transform 0.15s ease;
}

/* Évite une couleur spécifique héritée par le libellé */
.share-scope button.share-scope-copy > span,
.partage-partie button.partage-partie-copier > span {
  color: inherit;
}

.share-scope button.share-scope-copy:focus-visible,
.partage-partie button.partage-partie-copier:focus-visible {
  outline: 2px solid var(--share-accent);
  outline-offset: 3px;
}

.share-scope button.share-scope-copy:disabled,
.partage-partie button.partage-partie-copier:disabled {
  opacity: 0.7;
  cursor: wait;
}


/* ============================================================
   12. ICÔNES COPIER

   Slab Duo au repos.
   Slab Press Duo au survol, au focus et après copie.
   ============================================================ */

.share-scope .share-scope-copy-icon,
.partage-partie .partage-partie-icone {
  --share-copy-font: var(--share-icon-duo);

  display: inline-grid;

  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: center;

  flex: 0 0 auto;

  font-size: 1.15em;
  line-height: 1;
}

.share-scope .share-scope-copy-icon::before,
.share-scope .share-scope-copy-icon::after,
.partage-partie .partage-partie-icone::before,
.partage-partie .partage-partie-icone::after {
  content: "\f0c5";

  grid-area: 1 / 1;

  position: static;
  display: block;

  margin: 0;
  padding: 0;

  color: currentColor;

  font-family: var(--share-copy-font) !important;
  font-size: inherit;
  font-weight: 400 !important;
  font-style: normal;
  line-height: 1;

  letter-spacing: normal;
  text-transform: none;

  transform: none;
  pointer-events: none;
}

/* Calque principal */
.share-scope .share-scope-copy-icon::before,
.partage-partie .partage-partie-icone::before {
  font-feature-settings: normal;
  opacity: 1;
}

/* Calque secondaire */
.share-scope .share-scope-copy-icon::after,
.partage-partie .partage-partie-icone::after {
  font-feature-settings: "ss01";
  opacity: var(--share-icon-secondary-opacity);
}

/* États interactifs et confirmation */
.share-scope button.share-scope-copy:is(
  :hover,
  :focus-visible,
  :active,
  .is-copied
) .share-scope-copy-icon,
.partage-partie button.partage-partie-copier:is(
  :hover,
  :focus-visible,
  :active,
  .is-copied
) .partage-partie-icone {
  --share-copy-font: var(--share-icon-press-duo);
}


/* ============================================================
   13. AIDE ET CONFIRMATION
   ============================================================ */

.share-scope .share-scope-help,
.share-scope .share-scope-status,
.partage-partie .partage-partie-statut {
  margin: 0;
  padding: 0;

  color: var(--share-accent);

  font-family: var(--share-body-font);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;

  overflow-wrap: break-word;
}

/* Réserve une ligne pour limiter les sauts après copie */
.share-scope .share-scope-status,
.partage-partie .partage-partie-statut {
  min-height: 1.4em;
}


/* ============================================================
   14. MEDIA QUERIES
   ============================================================ */


/* ------------------------------------------------------------
   MOBILE — Jusqu'à 719px
   ------------------------------------------------------------ */

@media (max-width: 719px) {

  .share-scope,
  .partage-partie {
    gap: 12px;
    padding: 14px;
  }

  .share-scope > .share-scope-heading,
  .partage-partie > .partage-partie-titre {
    margin-bottom: 2px;

    font-size: 20px;
    line-height: 1.3;
  }

  .share-scope .share-scope-label,
  .share-scope .share-scope-url-label,
  .partage-partie .partage-partie-label {
    font-size: 15px;
  }

  .share-scope .share-scope-select,
  .share-scope .share-scope-url,
  .partage-partie .partage-partie-url {
    font-size: 16px;
  }
}


/* ------------------------------------------------------------
   PETITS ÉCRANS — Jusqu'à 480px
   Lien et bouton empilés
   ------------------------------------------------------------ */

@media (max-width: 480px) {

  .share-scope .share-scope-link-group,
  .partage-partie .partage-partie-ligne {
    flex-direction: column;

    align-items: stretch;
    gap: 10px;
  }

  .share-scope .share-scope-url-label,
  .partage-partie .partage-partie-label {
    flex: 0 0 auto;
    width: 100%;
  }

  .share-scope button.share-scope-copy,
  .partage-partie button.partage-partie-copier {
    width: 100%;
    white-space: normal;
  }
}


/* ------------------------------------------------------------
   TRÈS PETITS ÉCRANS — Jusqu'à 359px
   ------------------------------------------------------------ */

@media (max-width: 359px) {

  .share-scope,
  .partage-partie {
    padding: 12px;
  }

  .share-scope > .share-scope-heading,
  .partage-partie > .partage-partie-titre {
    font-size: 18px;
  }

  .share-scope .share-scope-select,
  .share-scope .share-scope-url,
  .partage-partie .partage-partie-url {
    padding-inline-start: 10px;
  }
}


/* ------------------------------------------------------------
   SURVOL SOURIS — Pointeur précis
   ------------------------------------------------------------ */

@media (hover: hover) and (pointer: fine) {

  .share-scope button.share-scope-copy:not(:disabled):hover,
  .partage-partie button.partage-partie-copier:not(:disabled):hover {
    transform: translateY(2px);
  }
}


/* ------------------------------------------------------------
   ACCESSIBILITÉ — Réduction des animations
   ------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {

  .share-scope .share-scope-select,
  .share-scope .share-scope-url,
  .share-scope button.share-scope-copy,
  .partage-partie .partage-partie-url,
  .partage-partie button.partage-partie-copier {
    transition: none;
  }

  .share-scope button.share-scope-copy:not(:disabled):hover,
  .partage-partie button.partage-partie-copier:not(:disabled):hover {
    transform: none;
  }
}


/* ------------------------------------------------------------
   ACCESSIBILITÉ — Contraste forcé
   Restaure la flèche native du sélecteur
   ------------------------------------------------------------ */

@media (forced-colors: active) {

  .share-scope .share-scope-label > .share-scope-select {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
  }

  .share-scope .share-scope-label::before,
  .share-scope .share-scope-label::after {
    content: none;
    display: none;
  }

  .share-scope button.share-scope-copy,
  .partage-partie button.partage-partie-copier {
    border: 1px solid ButtonText;
  }
}


/* ------------------------------------------------------------
   IMPRESSION
   ------------------------------------------------------------ */

@media print {

  .share-scope,
  .partage-partie {
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c999d01 *//* ============================================================
   MODALE — ENCADRÉ DE PARTAGE COMPLET

   - Couleurs du chapitre
   - Titres associés
   - Sélection du passage
   - Lien et bouton Copier
   - Icônes Slab Duo → Slab Press Duo
   - Responsive mobile
   ============================================================ */


/* ============================================================
   1. COULEURS DU CHAPITRE

   Variables déclarées sur body pour être accessibles
   à la popup, même hors de .chapitre-wrapper.
   ============================================================ */

body:has(.chapitre-wrapper) {
  --modal-share-accent: var(--Noir, #212320);
  --modal-share-tint: var(--Blanc-casse, #FFFCF4);
  --modal-share-border: var(--Cendres, #7A7264);
}

/* Partie 1 — Bleu */
body:has(
  .chapitre-wrapper.pour-une-bifurcation-ecologique-et-sociale,
  .chapitre-wrapper .pour-une-bifurcation-ecologique-et-sociale
) {
  --modal-share-accent: var(--Bleu-Ciel-700-Marine, #1B5FAA);
  --modal-share-tint: var(--Bleu-Ciel-50, #EAF3FC);
  --modal-share-border: var(--Bleu-Ciel-700-Cobalt, #16458A);
}

/* Partie 2 — Orange */
body:has(
  .chapitre-wrapper.une-economie-au-service-des-besoins,
  .chapitre-wrapper .une-economie-au-service-des-besoins
) {
  --modal-share-accent: var(--Orange-700-Cuivre, #B04E00);
  --modal-share-tint: var(--Orange-50, #FFF1E6);
  --modal-share-border: var(--Orange-500, #D97A2B);
}

/* Partie 3 — Vert */
body:has(
  .chapitre-wrapper.mettre-en-securite-sociale,
  .chapitre-wrapper .mettre-en-securite-sociale
) {
  --modal-share-accent: var(--Vert_500, #2E7D32);
  --modal-share-tint: var(--Vert_50, #EAF5EA);
  --modal-share-border: var(--Vert-Alt-500-Base, #256B29);
}

/* Partie 4 — Jaune */
body:has(
  .chapitre-wrapper.le-gout-du-futur-aux-nouvelles-frontieres-de-l-humanite,
  .chapitre-wrapper .le-gout-du-futur-aux-nouvelles-frontieres-de-l-humanite
) {
  --modal-share-accent: var(--Jaune-900-Ocre, #8B4500);
  --modal-share-tint: var(--Jaune-50-Citron, #FEF8DC);
  --modal-share-border: var(--Jaune-700-Miel, #B5651D);
}

/* Partie 5 — Rouge */
body:has(
  .chapitre-wrapper.fonder-la-6e-republique,
  .chapitre-wrapper .fonder-la-6e-republique
) {
  --modal-share-accent: var(--Rouge-700-Carmin, #B02A2A);
  --modal-share-tint: var(--Rouge-50-Rosee, #FCEAEA);
  --modal-share-border: var(--Rouge-700-Carmin, #B02A2A);
}

/* Partie 6 — Violet */
body:has(
  .chapitre-wrapper.un-monde-ordonne,
  .chapitre-wrapper .un-monde-ordonne
) {
  --modal-share-accent: var(--Violet-700-Pourpre, #6A2E8E);
  --modal-share-tint: var(--Violet-50-Lavande, #F3ECFA);
  --modal-share-border: var(--Violet-900-Nuit, #3D1856);
}


/* ============================================================
   2. TITRES ELEMENTOR ASSOCIÉS

   Ajouter .share-chapter-title aux widgets à colorer.
   ============================================================ */

.share-chapter-title,
.share-chapter-title :is(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  .elementor-heading-title,
  .e-heading-base
) {
  color:
    var(--modal-share-accent, var(--Noir, #212320))
    !important;

  overflow-wrap: break-word;
}


/* ============================================================
   3. ENCADRÉ ET VARIABLES LOCALES
   ============================================================ */

.share-scope {
  --share-accent:
    var(--modal-share-accent, var(--Noir, #212320));

  --share-tint:
    var(--modal-share-tint, var(--Blanc-casse, #FFFCF4));

  --share-border:
    var(--modal-share-border, var(--Cendres, #7A7264));

  --share-surface: var(--Blanc-casse, #FFFCF4);

  --share-body-font:
    var(--Textes, "Stack Sans Text", "Stack Sans"), sans-serif;

  --share-icon-duo:
    var(--fa-family-slab-duo, "Font Awesome 7 Slab Duo");

  --share-icon-press-duo:
    var(--fa-family-slab-press-duo, "Font Awesome 7 Slab Press Duo");

  --share-gap: var(--Space1, 8px);
  --share-field-height: 48px;
  --share-radius: var(--Radius-10, 10px);

  display: flex;
  flex-direction: column;
  gap: var(--Space1-5, 12px);

  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--Space2, 16px);

  color: var(--share-accent);
  background: var(--share-tint);

  border: 1px solid var(--share-border);
  border-radius: var(--share-radius);

  font-family: var(--share-body-font);
  font-size: 16px;
  line-height: 1.4;
}

.share-scope,
.share-scope *,
.share-scope *::before,
.share-scope *::after {
  box-sizing: border-box;
}


/* ============================================================
   4. TITRE INTÉGRÉ À L'ENCADRÉ
   ============================================================ */

.share-scope > .share-scope-heading {
  display: block;
  position: static;

  width: 100%;
  height: auto;
  min-height: 0;
  max-height: none;

  margin: 0 0 4px;
  padding: 0;

  color: var(--share-accent) !important;
  background: transparent;
  border: 0;

  font-family: var(--share-body-font);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: none !important;

  overflow-wrap: break-word;
}


/* ============================================================
   5. LIBELLÉS
   ============================================================ */

.share-scope .share-scope-label,
.share-scope .share-scope-url-label {
  min-width: 0;
  margin: 0;

  color: var(--share-accent);

  font-family: var(--share-body-font);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.share-scope .share-scope-url-label {
  display: flex;
  flex-direction: column;
  gap: var(--share-gap);

  flex: 1 1 0;
}


/* ============================================================
   6. CHAMPS
   ============================================================ */

.share-scope .share-scope-select,
.share-scope .share-scope-url {
  display: block;

  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: var(--share-field-height);

  margin: 0;
  padding: 11px 12px;

  color: var(--share-accent) !important;
  background-color: var(--share-surface);

  border: 1px solid var(--share-border);
  border-radius: var(--share-radius);
  box-shadow: none;

  font-family: var(--share-body-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;

  transition: border-color 0.15s ease;
}

.share-scope .share-scope-select {
  cursor: pointer;
}

.share-scope .share-scope-url {
  cursor: text;
  text-overflow: ellipsis;
}

.share-scope .share-scope-url::selection {
  color: var(--share-surface);
  background: var(--share-accent);
}

.share-scope .share-scope-select:hover,
.share-scope .share-scope-url:hover {
  border-color: var(--share-accent);
}

.share-scope .share-scope-select:focus-visible,
.share-scope .share-scope-url:focus-visible {
  outline: 2px solid var(--share-accent);
  outline-offset: 3px;
}


/* ============================================================
   7. DROPDOWN — ICÔNE DESCENDANTE SLAB DUO (\f107)
   ============================================================ */

.share-scope .share-scope-label {
  --dropdown-icon-font: var(--share-icon-duo);

  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: var(--share-gap);
}

/* Le menu et les deux calques occupent la même cellule */
.share-scope .share-scope-label > .share-scope-select {
  grid-column: 1;
  grid-row: 2;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  background-image: none !important;
  padding-inline-end: 48px;
}

/* Deux calques */
.share-scope .share-scope-label::before,
.share-scope .share-scope-label::after {
  content: "\f107";

  grid-column: 1;
  grid-row: 2;
  align-self: center;
  justify-self: end;

  position: relative;
  z-index: 1;
  display: block;

  margin: 0;
  margin-inline-end: 16px;
  padding: 0;

  color: var(--share-accent);

  font-family: var(--dropdown-icon-font) !important;
  font-weight: 400 !important;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;

  transform: none;
  pointer-events: none;
}

.share-scope .share-scope-label::before {
  font-feature-settings: normal;
  opacity: 1;
}

.share-scope .share-scope-label::after {
  font-feature-settings: "ss01";
  opacity: 0.25;
}

/* Slab Press Duo au survol / focus */
.share-scope .share-scope-label:has(
  > .share-scope-select:is(:hover, :focus)
) {
  --dropdown-icon-font: var(--share-icon-press-duo);
}


/* ============================================================
   8. LIGNE DU LIEN ET DU BOUTON
   ============================================================ */

.share-scope .share-scope-link-group {
  display: flex;
  align-items: flex-end;
  gap: var(--share-gap);

  width: 100%;
  min-width: 0;
}


/* ============================================================
   9. BOUTON COPIER
   ============================================================ */

.share-scope button.share-scope-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--share-gap);

  flex: 0 0 auto;

  min-height: var(--share-field-height);
  max-width: 100%;
  margin: 0;
  padding: 11px 16px;

  color: var(--share-surface) !important;
  background-color: var(--share-accent) !important;

  border: 1px solid var(--share-accent);
  border-radius: var(--share-radius);
  box-shadow: none;

  font-family: var(--share-body-font);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;

  cursor: pointer;

  transition: transform 0.15s ease;
}

.share-scope button.share-scope-copy:focus-visible {
  outline: 2px solid var(--share-accent);
  outline-offset: 3px;
}

.share-scope button.share-scope-copy:disabled {
  opacity: 0.7;
  cursor: wait;
}


/* ============================================================
   10. ICÔNE COPIER — SLAB DUO (\f0c5)
   ============================================================ */

.share-scope .share-scope-copy-icon {
  --share-copy-font: var(--share-icon-duo);

  display: inline-grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  place-items: center;

  flex: 0 0 auto;

  font-size: 1.15em;
  line-height: 1;
}

.share-scope .share-scope-copy-icon::before,
.share-scope .share-scope-copy-icon::after {
  content: "\f0c5";

  grid-area: 1 / 1;
  display: block;

  margin: 0;
  padding: 0;

  color: currentColor;

  font-family: var(--share-copy-font) !important;
  font-weight: 400;
  font-style: normal;
  line-height: 1;

  pointer-events: none;
}

.share-scope .share-scope-copy-icon::before {
  font-feature-settings: normal;
  opacity: 1;
}

.share-scope .share-scope-copy-icon::after {
  font-feature-settings: "ss01";
  opacity: 0.25;
}

.share-scope button.share-scope-copy:is(
  :hover,
  :focus-visible,
  :active
) .share-scope-copy-icon {
  --share-copy-font: var(--share-icon-press-duo);
}


/* ============================================================
   11. AIDE ET CONFIRMATION
   ============================================================ */

.share-scope .share-scope-help,
.share-scope .share-scope-status {
  margin: 0;

  color: var(--share-accent);

  font-family: var(--share-body-font);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;

  overflow-wrap: break-word;
}

/* Réserve une ligne pour éviter un saut au moment de la copie */
.share-scope .share-scope-status {
  min-height: 1.4em;
}


/* ============================================================
   12. MEDIA QUERIES
   ============================================================ */


/* MOBILE */
@media (max-width: 719px) {
  .share-scope {
    gap: 12px;
    padding: 14px;
  }

  .share-scope > .share-scope-heading {
    margin-bottom: 2px;
    font-size: 20px;
    line-height: 1.3;
  }

  .share-scope .share-scope-label,
  .share-scope .share-scope-url-label {
    font-size: 15px;
  }

  /* Les champs restent à 16px */
  .share-scope .share-scope-select,
  .share-scope .share-scope-url {
    font-size: 16px;
  }
}


/* PETITS ÉCRANS : LIEN ET BOUTON EMPILÉS */
@media (max-width: 480px) {
  .share-scope .share-scope-link-group {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .share-scope .share-scope-url-label {
    flex: 0 0 auto;
    width: 100%;
  }

  .share-scope button.share-scope-copy {
    width: 100%;
    white-space: normal;
  }
}


/* TRÈS PETITS ÉCRANS */
@media (max-width: 359px) {
  .share-scope {
    padding: 12px;
  }

  .share-scope > .share-scope-heading {
    font-size: 18px;
  }

  .share-scope .share-scope-select,
  .share-scope .share-scope-url {
    padding-inline-start: 10px;
  }
}


/* DÉPLACEMENT DU BOUTON SUR LES APPAREILS À POINTEUR */
@media (hover: hover) and (pointer: fine) {
  .share-scope button.share-scope-copy:hover {
    transform: translateY(2px);
  }
}


/* RÉDUCTION DES ANIMATIONS */
@media (prefers-reduced-motion: reduce) {
  .share-scope .share-scope-select,
  .share-scope .share-scope-url,
  .share-scope button.share-scope-copy {
    transition: none;
  }

  .share-scope button.share-scope-copy:hover {
    transform: none;
  }
}


/* CONTRASTE FORCÉ : RESTAURE LA FLÈCHE NATIVE */
@media (forced-colors: active) {
  .share-scope .share-scope-label > .share-scope-select {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
  }

  .share-scope .share-scope-label::before,
  .share-scope .share-scope-label::after {
    content: none;
    display: none;
  }
}/* End custom CSS */
/* Start custom CSS for share-buttons, class: .elementor-element-10c9516 */.elementor-share-btn {
    border: 1px solid var(--Noir);
    border-radius: 8px;
}

.elementor-share-btn:hover {
    transform: translateY(2px);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Stack Sans';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://melenchon2027.fr/wp-content/uploads/2026/04/StackSansText-Light.ttf') format('truetype');
}
@font-face {
	font-family: 'Stack Sans';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://melenchon2027.fr/wp-content/uploads/2026/04/StackSansText-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Stack Sans';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://melenchon2027.fr/wp-content/uploads/2026/04/StackSansText-Bold.ttf') format('truetype');
}
/* End Custom Fonts CSS */