 /*!
 * DSFR Share - Styles personnalisés avec scoping CSS
 * Évite les conflits avec les styles existants en isolant les règles CSS
 * Respecte les styles DSFR originaux tout en les encapsulant
 * Version complète avec toutes les règles DSFR
 */

 /* ========================================
   SCOPING CSS - Isolation des styles
   ======================================== */

 /* Conteneur principal avec scoping pour éviter les conflits */
 .dsfr-share-container {
   /* Isolation du contexte de formatage sans reset complet */
   contain: layout style;

   /* Scoper le core.css DSFR uniquement à cette zone */
   /* Cela évite que les styles DSFR affectent le reste du site */
   isolation: isolate;

   /* Fond transparent pour s'adapter au thème courant */
   background-color: transparent;

   /* Variables CSS DSFR essentielles (remplace core.css) */
   --background-action-high-blue-france: #000091;
   --background-action-high-blue-france-hover: #1212ff;
   --background-action-high-blue-france-active: #2323ff;
   --text-inverted-blue-france: #ffffff;
   --text-action-high-blue-france: #000091;
   --text-disabled-grey: #929292;
   --border-default-grey: #ddd;
   --border-disabled-grey: #e5e5e5;
   --text-mention-grey: #666666;

   /* Variables CSS DSFR supplémentaires (du core.css) */
   --text-decoration: none;
   --idle: transparent;
   --active: var(--background-action-high-blue-france-active);
   --hover: var(--background-action-high-blue-france-hover);
   --hover-tint: var(--idle);
   --active-tint: var(--active);

   /* Variables de couleur DSFR */
   --blue-france-sun-113-625: #000091;
   --blue-france-sun-113-625-hover: #1212ff;
   --blue-france-sun-113-625-active: #2323ff;
   --grey-50-100: #ffffff;
   --grey-50-1000: #000000;
   --grey-50-950: #161616;
   --grey-50-925: #1e1e1e;
   --grey-50-900: #262626;
   --grey-50-850: #3a3a3a;
   --grey-50-800: #4a4a4a;
   --grey-50-700: #666666;
   --grey-50-600: #767676;
   --grey-50-500: #929292;
   --grey-50-400: #b3b3b3;
   --grey-50-300: #cecece;
   --grey-50-200: #e5e5e5;
   --grey-50-100: #f6f6f6;
   --grey-50-50: #f9f9f9;
   --grey-50-25: #fcfcfc;

   /* Variables CSS locales pour éviter les conflits */
   --dsfr-share-primary: #000091;
   --dsfr-share-primary-hover: #1212ff;
   --dsfr-share-primary-active: #2323ff;
   --dsfr-share-text: #000;
   --dsfr-share-background: #fff;
   --dsfr-share-border: #ddd;
 }

 /* ========================================
   RÈGLES DE BASE POUR LES LIENS (remplace core.css)
   ======================================== */

 .dsfr-share-container a {
   text-decoration: var(--text-decoration, none);
   color: inherit;
   --hover-tint: var(--idle);
   --active-tint: var(--active);
 }

 /* Règles de base DSFR scoped */
 .dsfr-share-container *,
 .dsfr-share-container *::before,
 .dsfr-share-container *::after {
   box-sizing: border-box;
 }

 .dsfr-share-container {
   font-family: "Marianne", Arial, sans-serif;
   line-height: 1.5;
   color: var(--grey-50-1000);
 }

 .dsfr-share-container a {
   color: var(--blue-france-sun-113-625);
   text-decoration: none;
 }

 .dsfr-share-container a:hover {
   color: var(--blue-france-sun-113-625-hover);
 }

 .dsfr-share-container a:focus {
   outline: 2px solid var(--blue-france-sun-113-625);
   outline-offset: 2px;
 }

 /* ========================================
   STYLES DE LA BARRE DE PARTAGE - Conformes DSFR
   ======================================== */

 /* Layout de la barre de partage - Respecte les styles DSFR originaux */
 .dsfr-share-container .fr-share {
   display: flex;
   flex-direction: column;
   --text-spacing: 0 0 1rem;
   --title-spacing: 0 0 1rem;
 }

 .dsfr-share-container .fr-share__title {
   font-size: 1rem;
   line-height: 1.5rem;
   order: 1;
 }

 .dsfr-share-container .fr-share__text {
   font-size: 0.75rem;
   line-height: 1.25rem;
   order: 3;
   color: var(--text-mention-grey);
 }

 .dsfr-share-container .fr-share .fr-btns-group {
   width: auto;
   order: 2;
 }

 .dsfr-share-container .fr-share .fr-btns-group .fr-btn {
   width: auto;
   max-width: 100%;
   margin-left: 0.5rem;
   margin-right: 0.5rem;
   justify-content: flex-start;
 }

 .dsfr-share-container .fr-share .fr-btns-group>li {
   display: inline-flex;
   max-width: 100%;
   width: auto;
 }

 /* ========================================
   STYLES DES BOUTONS - Conformes DSFR
   ======================================== */

 /* IMPORTANT: Ne pas redéfinir les styles de base des boutons */
 /* Les styles DSFR originaux sont chargés via button.css et share.css */
 /* On ne garde que les règles spécifiques si nécessaire */

 .dsfr-share-container .fr-btn::before,
 .dsfr-share-container .fr-btn::after {
   display: block;
 }

 .dsfr-share-container .fr-btn[target=_blank] {
   overflow: initial;
   max-width: 100%;
   max-height: none;
 }

 .dsfr-share-container .fr-btn[target=_blank]::after {
   content: "";
   --icon-size: 1rem;
   margin-right: -0.125rem;
   margin-left: 0.5rem;
 }

 /* ========================================
   GROUPES DE BOUTONS (fr-btns-group)
   ======================================== */

 /* IMPORTANT: Ne pas redéfinir les styles des groupes de boutons */
 /* Les styles DSFR originaux sont chargés via button.css */

 /* ========================================
   BOUTONS AVEC ICÔNES
   ======================================== */

 /* IMPORTANT: Ne pas redéfinir les styles des boutons avec icônes */
 /* Les styles DSFR originaux sont chargés via button.css */

 /* ========================================
   STYLES SPÉCIFIQUES POUR LES BOUTONS DE PARTAGE
   ======================================== */

 /* IMPORTANT: Ne pas redéfinir les styles des boutons de partage */
 /* Les styles DSFR originaux sont chargés via share.css */

 /* ========================================
   STYLES SPÉCIAUX POUR LA BARRE DE PARTAGE
   ======================================== */

 /* IMPORTANT: Ne pas surcharger les styles DSFR des boutons */
 /* Les boutons gardent leur style DSFR standard (bleu avec texte blanc) */

 /* Boutons désactivés uniquement */
 .dsfr-share-container .fr-share a.fr-btn:not([href]) {
   color: var(--text-disabled-grey);
   box-shadow: inset 0 0 0 1px var(--border-disabled-grey);
   background-color: transparent;
   --hover: inherit;
   --active: inherit;
 }

 /* ========================================
   VARIABLES CSS MANQUANTES
   ======================================== */

 /* Ajout des variables CSS DSFR manquantes */
 .dsfr-share-container {
   /* Variables pour les boutons */
   --background-action-high-blue-france: #000091;
   --background-action-high-blue-france-hover: #1212ff;
   --background-action-high-blue-france-active: #2323ff;
   --text-inverted-blue-france: #ffffff;
   --text-action-high-blue-france: #000091;

   /* Variables pour les états */
   --text-disabled-grey: #929292;
   --border-default-grey: #ddd;
   --border-disabled-grey: #e5e5e5;
   --text-mention-grey: #666666;

   /* Variables pour les liens */
   --text-decoration: none;
   --idle: transparent;
   --active: var(--background-action-high-blue-france-active);
   --hover: var(--background-action-high-blue-france-hover);
 }

 /* ========================================
   ALIGNEMENT ET POSITIONNEMENT
   ======================================== */

 /* IMPORTANT: Ne pas redéfinir les styles des alignements */
 /* Les styles DSFR originaux sont chargés via button.css */

 /* IMPORTANT: Ne pas redéfinir les styles des icônes */
 /* Les styles DSFR originaux sont chargés via share.css */
 /* Les icônes sont définies dans le mu-plugin via le CSS inline */

 /* ========================================
   TAILLES DE BOUTONS
   ======================================== */

 /* IMPORTANT: Ne pas redéfinir les styles des tailles de boutons */
 /* Les styles DSFR originaux sont chargés via button.css */

 /* ========================================
   GROUPES DE BOUTONS - TAILLES
   ======================================== */

 /* IMPORTANT: Ne pas redéfinir les styles des groupes de boutons */
 /* Les styles DSFR originaux sont chargés via button.css */

 /* ========================================
   ALIGNEMENT DES GROUPES
   ======================================== */

 /* IMPORTANT: Ne pas redéfinir les styles des alignements */
 /* Les styles DSFR originaux sont chargés via button.css */

 /* ========================================
   RESPONSIVE DESIGN
   ======================================== */

 @media (max-width: 767px) {
   .dsfr-share-container .fr-share__text {
     max-width: 18rem;
   }
 }

 /* ========================================
   OVERRIDES POUR ÉVITER LES CONFLITS
   ======================================== */

 /* IMPORTANT: Ne pas surcharger les styles des boutons */
 /* Les styles DSFR originaux sont chargés via button.css et share.css */

 /* ========================================
   CORRECTION DES CONFLITS CSS EXTERNES
   ======================================== */

 /* Annuler la bordure indésirable des liens target="_blank" */
 .dsfr-share-container a[target="_blank"]:hover {
   border-bottom-width: 0 !important;
   border-bottom: none !important;
 }

 /* Annuler toutes les bordures indésirables sur les boutons */
 .dsfr-share-container .fr-btn:hover,
 .dsfr-share-container .fr-btn:focus,
 .dsfr-share-container .fr-btn:active {
   border-bottom: none !important;
   border-bottom-width: 0 !important;
 }

 /* Annuler les bordures sur les liens dans les boutons */
 .dsfr-share-container .fr-btn a:hover,
 .dsfr-share-container .fr-btn a:focus,
 .dsfr-share-container .fr-btn a:active {
   border-bottom: none !important;
   border-bottom-width: 0 !important;
 }

 /* Règle spécifique pour annuler le conflit avec .icon a > div::after, a[target="_blank"]:hover */
 .dsfr-share-container .icon a>div::after,
 .dsfr-share-container a[target="_blank"]:hover {
   border-bottom-width: 0 !important;
   border-bottom: none !important;
 }

 /* Règle encore plus spécifique pour les boutons de partage */
 .dsfr-share-container .fr-share .fr-btn[target="_blank"]:hover {
   border-bottom: none !important;
   border-bottom-width: 0 !important;
 }

 /* Annuler la règle externe .icon a > div::after, a[target="_blank"] */
 .dsfr-share-container .icon a>div::after,
 .dsfr-share-container a[target="_blank"] {
   border-bottom: none !important;
   border-bottom-width: 0 !important;
   margin-right: 0 !important;
 }

 /* Règle spécifique pour les boutons de partage avec target="_blank" */
 .dsfr-share-container .fr-share .fr-btn[target="_blank"] {
   border-bottom: none !important;
   border-bottom-width: 0 !important;
   margin-right: 0 !important;
 }

 /* ========================================
   ANNULATION DES EFFETS GLOBAUX DU CORE.CSS DSFR
   ======================================== */

 /* Annuler les styles globaux DSFR qui pourraient affecter le reste du site */
 /* Ces règles s'appliquent en dehors de .dsfr-share-container */

 /* Annuler les reset DSFR sur les éléments principaux */
 body:not(.dsfr-share-container) {
   /* Annuler les styles DSFR globaux si nécessaire */
 }

 /* Annuler les styles DSFR sur les liens en dehors de la barre de partage */
 a:not(.dsfr-share-container a) {
   /* Les styles DSFR ne s'appliquent qu'aux liens dans .dsfr-share-container */
 }

 /* ========================================
   COMPATIBILITÉ AVEC YOOTHEME
   ======================================== */

 /* S'assurer que la barre de partage s'intègre bien avec YOOtheme */
 .dsfr-share-container {
   box-sizing: border-box;
 }

 .dsfr-share-container *,
 .dsfr-share-container *::before,
 .dsfr-share-container *::after {
   box-sizing: border-box;
 }

 .dsfr-share-container .fr-share__title {
   font-size: 1.25rem;
   /* 20px - conforme DSFR */
   line-height: 1.5;
   font-weight: 700;
   margin: 0 0 1rem 0;
   color: var(--grey-50-1000);
 }

 /* Alignement du groupe de boutons avec le titre */
 .dsfr-share-container .fr-btns-group {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   flex-wrap: wrap;
   gap: 0.5rem;
   align-items: center;
 }

 /* Alignement spécifique pour les boutons de partage */
 .dsfr-share-container .fr-share .fr-btns-group {
   margin-left: 0;
   margin-top: 0;
 }

 /* Correction de l'alignement vertical */
 .dsfr-share-container .fr-share {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
 }

 .dsfr-share-container .fr-share .fr-btns-group {
   margin-top: 0.5rem;
   margin-bottom: 0;
 }

 /* S'assurer que les boutons sont bien alignés */
 .dsfr-share-container .fr-btns-group .fr-btn {
   margin: 0;
   vertical-align: top;
 }

 /* Appliquer exactement les mêmes règles que les liens <a> aux boutons <button> */
 .dsfr-share-container .fr-btn--print,
 .dsfr-share-container .fr-btn--copy {
   /* Reset des styles par défaut des boutons */
   background: none;
   border: none;
   padding: 0;
   margin: 0;
   font: inherit;
   color: inherit;
   text-decoration: none;
   cursor: pointer;

   /* Appliquer exactement les mêmes règles que .dsfr-share-container a */
   text-decoration: var(--text-decoration, none);
   color: inherit;
   --hover-tint: var(--idle);
   --active-tint: var(--active);

   /* Styles de base identiques aux liens */
   color: var(--blue-france-sun-113-625);
   text-decoration: none;

   /* Contrôler la largeur comme les autres boutons */
   width: auto;
   min-width: auto;
   max-width: 2.5rem;
   overflow: hidden;
   flex-shrink: 0;
 }

 /* Hover identique aux liens */
 .dsfr-share-container .fr-btn--print:hover,
 .dsfr-share-container .fr-btn--copy:hover {
   color: var(--blue-france-sun-113-625-hover);
   border-bottom: none !important;
   border-bottom-width: 0 !important;
 }

 /* Focus identique aux liens */
 .dsfr-share-container .fr-btn--print:focus,
 .dsfr-share-container .fr-btn--copy:focus {
   outline: 2px solid var(--blue-france-sun-113-625);
   outline-offset: 2px;
 }

 /* Annuler toutes les bordures indésirables sur les boutons */
 .dsfr-share-container .fr-btn--print,
 .dsfr-share-container .fr-btn--copy {
   border-bottom: none !important;
   border-bottom-width: 0 !important;
 }

 .dsfr-share-container .fr-btn--print:hover,
 .dsfr-share-container .fr-btn--copy:hover,
 .dsfr-share-container .fr-btn--print:focus,
 .dsfr-share-container .fr-btn--copy:focus,
 .dsfr-share-container .fr-btn--print:active,
 .dsfr-share-container .fr-btn--copy:active {
   border-bottom: none !important;
   border-bottom-width: 0 !important;
 }

 /* Alignement des icônes dans tous les boutons */
 .dsfr-share-container .fr-btn::before {
   flex-shrink: 0;
   margin-right: 0.5rem;
 }


 /* S'assurer que tous les boutons DSFR ont le bon style par défaut */
 .dsfr-share-container .fr-btn {
   background-color: transparent;
   border: 1px solid var(--border-default-grey);
   color: var(--text-action-high-blue-france);
   border-radius: 0;
   /* Pas de bordures arrondies */
   /* Contrôler la largeur des boutons */
   width: auto;
   min-width: auto;
   max-width: 2.5rem;
   overflow: hidden;
   flex-shrink: 0;
 }

 /* Styles DSFR officiels pour les boutons de partage */
 .dsfr-share-container .fr-share .fr-btns-group>li {
   display: inline-flex;
   max-width: 100%;
   width: auto;
 }

 /* Styles inspirés des styles DSFR officiels */
 .dsfr-share-container .fr-share .fr-btns-group .fr-btn {
   --underline-img: none;
   --hover-tint: var(--hover);
   --hover: inherit;
   --active: inherit;
   background-color: transparent;
   box-shadow: inset 0 0 0 1px var(--border-default-grey);
   color: var(--text-action-high-blue-france);
   display: inline-flex;
   margin-left: .5rem;
   margin-right: .5rem;
   font-size: 1rem;
   line-height: 1.5rem;
   max-height: 2.5rem;
   max-width: 2.5rem;
   min-height: 2.5rem;
   overflow: hidden;
   padding: .5rem;
   white-space: nowrap;
 }

 .dsfr-share-container .fr-share .fr-btns-group .fr-btn:before {
   --icon-size: 1.5rem;
   background-color: currentColor;
   content: "";
   display: inline-block;
   flex: 0 0 auto;
   height: var(--icon-size);
   margin-left: 0;
   margin-right: .5rem;
   -webkit-mask-size: 100% 100%;
   mask-size: 100% 100%;
   vertical-align: calc((.75em - var(--icon-size))*.5);
   width: var(--icon-size);
 }

 /* Premier élément aligné avec le titre (pas de margin-left) */
 .dsfr-share-container .fr-share .fr-btns-group>li:first-child .fr-btn {
   margin-left: 0;
 }

 /* ========================================
   SUPPORT DU THÈME SOMBRE DSFR
   ======================================== */

/* ========================================
   THÈME SOMBRE - RÈGLES SPÉCIFIQUES
   ======================================== */

/* Titre en blanc pour le thème sombre */
html[data-applied-mode="dark"] .dsfr-share-container .fr-share__title {
  color: #ffffff !important;
}

/* Boutons avec couleurs adaptées au thème sombre */
html[data-applied-mode="dark"] .dsfr-share-container .fr-btn {
  color: #6c6cff !important;
  border-color: #3a3a3a !important;
}

/* Hover des boutons en thème sombre */
html[data-applied-mode="dark"] .dsfr-share-container .fr-btn:hover {
  color: #8c8cff !important;
}

/* Icônes des boutons en thème sombre */
html[data-applied-mode="dark"] .dsfr-share-container .fr-btn::before {
  background-color: #6c6cff !important;
}

/* Liens de partage en thème sombre */
html[data-applied-mode="dark"] .dsfr-share-container a {
  color: #6c6cff !important;
}

html[data-applied-mode="dark"] .dsfr-share-container a:hover {
  color: #8c8cff !important;
}

 /* Variables pour le thème sombre */
 .dsfr-share-container {
   /* Variables DSFR pour le thème sombre */
   --background-action-high-blue-france-dark: #6c6cff;
   --background-action-high-blue-france-hover-dark: #8c8cff;
   --background-action-high-blue-france-active-dark: #9c9cff;
   --text-inverted-blue-france-dark: #000091;
   --text-action-high-blue-france-dark: #6c6cff;
   --border-default-grey-dark: #3a3a3a;
   --text-mention-grey-dark: #b3b3b3;
   --grey-50-1000-dark: #ffffff;
   --grey-50-100-dark: #161616;
 }

/* Anciennes règles supprimées - Remplacées par les règles spécifiques ci-dessus */

/* Anciennes règles supprimées - Remplacées par les règles spécifiques ci-dessus */

/* ========================================
   THÈME CLAIR - GESTION AUTOMATIQUE
   ======================================== */

/* Le thème clair utilise les styles par défaut définis plus haut */
/* Pas besoin de règles spécifiques car les styles de base sont déjà corrects */