/* ============================================================
   DealFabric DS — Composant · Icônes
   ------------------------------------------------------------
   Les icônes sont des MASQUES, pas des images : le fichier ne
   donne que la forme, la couleur vient de background-color. Une
   même icône sert donc en or sur fond clair et en clair sur fond
   sombre, sans second fichier.

   Deux niveaux :
     df-i-xxx   choisit l icone, en posant --df-icon
     df-pill    l affiche dans une pastille ronde
     df-iconlist  l affiche devant chaque item d une liste

   Ajouter une icone : une ligne df-i-xxx de plus. Le trace doit
   etre en stroke, sans fill — un fill='none' herite viderait le
   masque (voir la pastille du hero pour le detail).
   ============================================================ */

/* ------------------------------------------------------------
   Le jeu d icônes
   ------------------------------------------------------------ */

#top .df .df-i-list{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01'/%3E%3C/svg%3E"); }
#top .df .df-i-tags{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M7 12h10M10 18h4'/%3E%3C/svg%3E"); }
#top .df .df-i-layers{ --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M5 8l7-5 7 5M5 16l7 5 7-5'/%3E%3C/svg%3E"); }
#top .df .df-i-doc{    --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3C/svg%3E"); }
#top .df .df-i-chart{  --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 15l4-4 3 3 5-6'/%3E%3C/svg%3E"); }
#top .df .df-i-shield{ --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3C/svg%3E"); }
#top .df .df-i-mail{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
#top .df .df-i-grid{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
#top .df .df-i-cloud{  --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z'/%3E%3C/svg%3E"); }
#top .df .df-i-check{  --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); }


/* ------------------------------------------------------------
   df-pill — l icône dans une pastille, en tête de carte
   À poser sur le Text Block, avec une classe df-i-xxx.
   ------------------------------------------------------------ */

#top .df .df-pill::before{
  content:"";
  display:block;
  width:var(--df-pill-size, 44px);
  height:var(--df-pill-size, 44px);
  margin:0 0 18px;
  border-radius:50%;
  background-color:var(--df-pill-bg, var(--df-alt));
  border:1px solid var(--df-line);
}

/* L icône, centrée dans la pastille. Un second pseudo-element
   serait necessaire pour superposer forme et fond ; on utilise
   donc le masque sur ::after, positionne par-dessus. */
#top .df .df-pill{ position:relative; }
#top .df .df-pill::after{
  content:"";
  position:absolute;
  top:calc(var(--df-pill-size, 44px) / 2);
  left:calc(var(--df-pill-size, 44px) / 2);
  width:var(--df-pill-icon, 20px);
  height:var(--df-pill-icon, 20px);
  transform:translate(-50%, -50%);
  background-color:var(--df-pill-color, var(--df-ink));
  -webkit-mask-image:var(--df-icon);
  mask-image:var(--df-icon);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

/* Variantes */
#top .df .df-pill-ink{
  --df-pill-bg:var(--df-ink);
  --df-pill-color:var(--df-n-text);
}
#top .df .df-pill-ink::before{ border-color:transparent; }
#top .df .df-pill-gold{
  --df-pill-bg:var(--df-gold-bg);
  --df-pill-color:var(--df-gold-ink);
}
#top .df-night .df-pill,
#top .df .df-card-night .df-pill{
  --df-pill-bg:var(--df-n-card);
  --df-pill-color:var(--df-n-text);
}


/* ------------------------------------------------------------
   df-iconlist — une liste dont chaque item porte son icône
   ------------------------------------------------------------
   À poser sur un Text Block contenant une liste à puces. Les
   icônes se choisissent item par item : ajouter df-i-xxx à
   l élément <li> depuis l éditeur de texte, sinon toute la liste
   partage celle du bloc.
   ------------------------------------------------------------ */

#top .df .df-iconlist ul{
  margin:0;
  padding:0;
  list-style:none;
}
/* Chaque item est separe d un filet : c est ce qui donne son
   rythme a la liste « Vue a 360 » de la maquette. */
#top .df .df-iconlist li{
  position:relative;
  margin:0;
  padding:16px 0 16px 38px;
  border-top:1px solid var(--df-line);
  font-family:var(--df-font-text);
  font-size:15.5px;
  line-height:1.5;
  color:var(--df-ink);
}
#top .df .df-iconlist li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.05em;
  width:22px;
  height:22px;
  background-color:var(--df-list-icon-color, var(--df-link));
  -webkit-mask-image:var(--df-icon);
  mask-image:var(--df-icon);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}
#top .df .df-iconlist-gold{ --df-list-icon-color:var(--df-gold); }


/* ------------------------------------------------------------
   df-check — une coche en tête de carte
   Le motif des cartes « Alimentation du deal flow ».
   ------------------------------------------------------------ */

#top .df .df-check::before{
  content:"";
  display:block;
  width:34px;
  height:34px;
  margin:0 0 26px;
  background-color:var(--df-check-color, var(--df-gold));
  -webkit-mask-image:var(--df-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"));
  mask-image:var(--df-icon, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"));
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
}


/* Sur une carte sombre, la coche passe en or clair */
#top .df .df-card-night .df-check::before,
#top .df-night .df-check::before{
  background-color:var(--df-gold-soft);
}


/* ------------------------------------------------------------
   Complement : pages Relations Investisseurs et M&A
   ------------------------------------------------------------ */

#top .df .df-i-trend{  --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M14 7h7v7'/%3E%3C/svg%3E"); }
#top .df .df-i-send{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4z'/%3E%3C/svg%3E"); }
#top .df .df-i-case{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2'/%3E%3C/svg%3E"); }
#top .df .df-i-bars{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M7 16v-5M12 16V8M17 16v-3'/%3E%3C/svg%3E"); }
#top .df .df-i-cal{    --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E"); }
#top .df .df-i-users{  --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M23 21v-2a4 4 0 0 0-3-3.87'/%3E%3C/svg%3E"); }
#top .df .df-i-next{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18l6-6-6-6'/%3E%3C/svg%3E"); }
#top .df .df-i-folder{ --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7a2 2 0 0 1 2-2h4l2 3h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E"); }


/* Complement : page DealFabric MCP */

#top .df .df-i-eye{     --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7-10-7-10-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
#top .df .df-i-sync{    --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 0 1 15-6.7L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3Cpath d='M21 12a9 9 0 0 1-15 6.7L3 16'/%3E%3Cpath d='M3 21v-5h5'/%3E%3C/svg%3E"); }
#top .df .df-i-nodes{   --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='m8.6 13.5 6.8 4M15.4 6.5l-6.8 4'/%3E%3C/svg%3E"); }
#top .df .df-i-target{  --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E"); }


/* Complement : page Investment Intelligence */

#top .df .df-i-wave{     --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z'/%3E%3Cpath d='M4 22v-7'/%3E%3C/svg%3E"); }
#top .df .df-i-inbox{    --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E"); }
#top .df .df-i-globe{    --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15 15 0 0 1 0 20 15 15 0 0 1 0-20'/%3E%3C/svg%3E"); }
#top .df .df-i-spark{    --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 2.6 6.6L21 11l-6.4 2.4L12 20l-2.6-6.6L3 11l6.4-2.4z'/%3E%3C/svg%3E"); }
#top .df .df-i-link{     --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }
#top .df .df-i-checkin{  --df-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.1V12a10 10 0 1 1-5.9-9.1'/%3E%3Cpath d='M22 4 12 14.01l-3-3'/%3E%3C/svg%3E"); }


/* Carte centree : la pastille suit. Le disque se centre par des
   marges auto, et l icone qui le surmonte repart de 50 % au lieu
   de la moitie du disque. */
#top .df .df-center .df-pill::before,
#top .df .df-pill.df-center::before{
  margin-left:auto;
  margin-right:auto;
}
#top .df .df-center .df-pill::after,
#top .df .df-pill.df-center::after{ left:50%; }
