.elementor-13739 .elementor-element.elementor-element-9bfb3a1{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-13739 .elementor-element.elementor-element-9bfb3a1:not(.elementor-motion-effects-element-type-background), .elementor-13739 .elementor-element.elementor-element-9bfb3a1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}/* Start custom CSS for html, class: .elementor-element-ffeecb3 *//* ——— Corrections MMF : pas de retour à la ligne + alignement hauteur ——— */
.tag.child .inner{
  min-height:96px;               /* mêmes hauteurs entre filiales */
  display:flex; flex-direction:column; justify-content:center;
}

/* Empêche toute coupure sur les sous-titres des filiales */
.tag.child .sub{
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  hyphens:none;
}

/* MMF un peu plus large pour tenir sur une seule ligne */
.mmf.tag.child{ width:280px; }    /* (CDS reste à 230px) */

/* Option de secours si ça plie encore (rare) : diminue un poil le lettrage sur MMF */
.mmf .sub{ letter-spacing:0; }
/* CARTES AVEC PHOTO */
.tag.has-photo{
  position:relative;
  color:#1F2733; /* couleur de base du texte */
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 32px 60px rgba(0,0,0,.12), 0 4px 16px rgba(0,0,0,.08);
  border:1px solid rgba(255,255,255,0.6); /* effet plaque premium */
}

/* la photo en fond */
.tag.has-photo .bg-photo{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;

  /* on rend la photo plus vive pour qu’elle ressorte */
  filter:
    brightness(1.12)
    contrast(1.05)
    saturate(1.08);
  z-index:0;
}

/* le dégradé lisibilité */
.tag.has-photo .bg-overlay{
  position:absolute;
  inset:0;
  z-index:1;

  background:linear-gradient(
    to bottom,
    rgba(255,255,255,0.55) 0%,
    rgba(255,255,255,0.70) 40%,
    rgba(255,255,255,0.82) 70%,
    rgba(255,255,255,0.90) 100%
  );

  /* On casse les détails derrière le texte pour éviter l'effet fouillis */
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}

/* le contenu texte reste au-dessus */
.tag.has-photo .inner{
  position:relative;
  z-index:2;
  text-align:center;
  padding:24px 28px;
}

/* titres / sous-titres dans la carte */
.tag.has-photo h3{
  margin:0 0 8px;
  font-family:"Montserrat",sans-serif;
  font-weight:700;
  font-size:20px;
  line-height:1.2;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:#3A2A39; /* prune foncé lisible sur fond clair */
}
.tag.has-photo p{
  margin:0;
  font-size:15px;
  line-height:1.35;
  font-weight:600;
  color:#3E4754; /* gris/bleu lisible */
}
/* === STYLE GLOBAL DES CARTES ANTARES === */

/* Conteneur de carte */
.tag.parent,
.tag.child {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.6);
  box-shadow:
    0 32px 60px rgba(0,0,0,.12),
    0 4px 16px rgba(0,0,0,.08);
  background: #fff;
  text-align: center;
}

/* Image de fond (photo) */
.tag.has-photo .bg-photo {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  /* meilleure présence visuelle sans saturer */
  filter: brightness(1.12) contrast(1.08) saturate(1.12);
  z-index: 0;
}

/* Calque de lisibilité (overlay) — affiné */
.tag.has-photo .bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0.35) 0%,
    rgba(255,255,255,0.48) 45%,
    rgba(255,255,255,0.65) 75%,
    rgba(255,255,255,0.78) 100%
  );
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}

/* Zone de texte */
.tag .inner {
  position: relative;
  z-index: 2;
  text-align: center;
}

/* Titre principal */
.tag .inner h3 {
  margin: 0 0 6px;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 20px;
  line-height: 1.25;
  color: #4B2942; /* Couleur prune officielle Antares */
}

/* Sous-titre */
.tag .inner p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.4;
  color: #4B4F59; /* Gris bleuté doux et lisible */
  text-wrap: balance;
}
/* === STYLE GLOBAL DES CARTES ANTARES === */

/* Conteneur de carte */
.tag.parent,
.tag.child {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.6);
  box-shadow:
    0 32px 60px rgba(0,0,0,.12),
    0 4px 16px rgba(0,0,0,.08);
  background: #fff;
  text-align: center;
}

/* Image de fond */
.tag.has-photo .bg-photo {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: brightness(1.12) contrast(1.08) saturate(1.12);
  z-index: 0;
}

/* Overlay clair pour la lisibilité */
.tag.has-photo .bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0.20) 0%,
    rgba(255,255,255,0.35) 40%,
    rgba(255,255,255,0.50) 70%,
    rgba(255,255,255,0.60) 100%
  );
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}


/* Zone de texte */
.tag .inner {
  position: relative;
  z-index: 2;
  text-align: center;
}

/* Pastille translucide sous le texte */
.text-plate {
  display: inline-block;
  padding: 12px 16px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,0.6);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  text-align: center;
}

/* Titre principal */
.text-plate h3 {
  margin: 0 0 6px;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 18px;
  line-height: 1.25;
  color: #4B2942; /* prune Antares */
}

/* Sous-titre */
.text-plate p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.35;
  color: #4B4F59;
}
/* atténuation du filet clair en bas des cartes sans casser l'image */
.tag.parent,
.tag.child {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  /* on garde tes ombres existantes */
  box-shadow:
    0 32px 60px rgba(0,0,0,.12),
    0 4px 16px rgba(0,0,0,.08);
  background: #fff;
  text-align: center;

  /* la ligne clé ↓ : ombre interne en bas pour casser le liseré */
  box-shadow:
    0 32px 60px rgba(0,0,0,.12),
    0 4px 16px rgba(0,0,0,.08),
    0 -1px 0 rgba(0,0,0,0) inset,
    0 2px 4px rgba(0,0,0,0.12) inset;
  /* pas de border explicite ici */
  border: none;
}
/* Cartes (mères et filiales) */
.tag.parent,
.tag.child {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: none;
  box-shadow:
    0 32px 60px rgba(0,0,0,.12),
    0 4px 16px rgba(0,0,0,.08),
    0 -1px 0 rgba(0,0,0,0) inset,
    0 2px 4px rgba(0,0,0,0.12) inset;
  background: #fff;
  text-align: center;
}

/* Image de fond nette */
.tag.has-photo .bg-photo {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: brightness(1.15) contrast(1.12) saturate(1.15);
  z-index: 0;
  border-radius: inherit;
}

/* Overlay lisibilité allégé (z=1) */
.tag.has-photo .bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0.20) 0%,
    rgba(255,255,255,0.35) 40%,
    rgba(255,255,255,0.50) 70%,
    rgba(255,255,255,0.60) 100%
  );
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* Zone texte */
.tag .inner {
  position: relative;
  z-index: 2;
  text-align: center;
}

/* Pastille lisible */
.text-plate {
  display: inline-block;
  padding: 12px 16px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,0.6);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  text-align: center;
}

/* Titre */
.text-plate h3 {
  margin: 0 0 6px;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 18px;
  line-height: 1.25;
  color: #4B2942; /* prune Antares */
}

/* Sous-titre */
.text-plate p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.35;
  color: #4B4F59;
}

/* =========================
   FILIALES (CDS / MMF)
   ========================= */

/* Cartes filiales = plus petites que les mères */
.tag.child {
  width: 240px !important;        /* plus étroit que les mères */
  min-height: 120px !important;   /* légèrement plus bas que maintenant */
  border-radius: 14px !important;
  box-shadow:
    0 24px 48px rgba(0,0,0,.10),
    0 3px 10px rgba(0,0,0,.07),
    0 -1px 0 rgba(0,0,0,0) inset,
    0 2px 4px rgba(0,0,0,0.10) inset !important;
  padding: 0 !important;          /* pas d'air inutile autour */
}

/* MMF peut être un tout petit peu plus large sans dépasser visuellement les mères */
.tag.child.mmf {
  width: 260px !important;
}

/* Pastille texte dans les filiales : plus compacte */
.tag.child .inner {
  display: inline-block !important;
  background: rgba(255,255,255,0.6) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
  border-radius: 10px !important;
  padding: 10px 14px 12px !important;
  max-width: 90% !important;
  text-align: center !important;
  margin: 0 auto !important;
}

/* Titre filiale */
.tag.child .inner h3 {
  margin: 0 0 6px !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
  font-size: 15px !important;      /* plus petit que les mères */
  line-height: 1.3 !important;
  color: #4B2942 !important;
  text-align: center !important;
  white-space: normal !important;  /* autorise le retour à la ligne */
}

/* Sous-titre filiale */
.tag.child .inner p {
  margin: 0 !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #4B4F59 !important;
  text-align: center !important;
  white-space: normal !important;  /* autorise retour à la ligne */
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* =========================
   MÈRES (IT / DS)
   ========================= */

/* Cartes mères = plus grandes, inchangées dans l'idée
   On verrouille leur taille pour qu'elles restent plus larges que les filiales */
.tag.parent {
  width: 520px !important;
  min-height: 140px !important;
  border-radius: 18px !important;
  padding: 0 !important;
  box-shadow:
    0 32px 60px rgba(0,0,0,.12),
    0 4px 16px rgba(0,0,0,.08),
    0 -1px 0 rgba(0,0,0,0) inset,
    0 2px 4px rgba(0,0,0,0.12) inset !important;
}

/* Pastille texte des mères (un peu plus lisible, un peu plus grande que les filiales) */
.tag.parent .inner {
  display: inline-block !important;
  background: rgba(255,255,255,0.6) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
  border-radius: 10px !important;
  padding: 12px 16px 14px !important; /* un peu plus de confort que filiales */
  max-width: 90% !important;
  text-align: center !important;
  margin: 0 auto !important;
}

/* Titre mère */
.tag.parent .inner h3 {
  margin: 0 0 6px !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .4px !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  color: #4B2942 !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* Sous-titre mère */
.tag.parent .inner p {
  margin: 0 !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: #4B4F59 !important;
  white-space: nowrap !important;
  text-align: center !important;
}

/* =========================
   CONNECTEURS (traits)
   ========================= */

/* On garde les traits UNIQUEMENT pour les filiales,
   mais on les remonte visuellement sous les mères */
.row:not(:first-of-type) .connector {
  display: block !important;
  width: 2px !important;
  background: var(--line) !important;
  border-radius: 1px !important;

  /* on rallonge */
  height: 60px !important;

  /* on rapproche du bloc mère en réduisant l'espace mort */
  margin: -10px auto 16px !important;
}

/* Sur la première rangée (les mères), on ne veut AUCUN trait */
.row:first-of-type .connector {
  display: none !important;
}
/* ========== MODE STABLE SANS TRAITS ========== */

/* 1. Tous les blocs ".connector" deviennent transparents mais restent en place
   → donc le layout ne bouge pas mais visuellement on ne voit plus rien */
.connector,
.row .connector {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* 2. On neutralise tout trait généré par pseudo-éléments éventuels
   (lignes sous les boîtes mères) SANS toucher au flux */
.tag.parent::before,
.tag.parent::after,
.tag.child::before,
.tag.child::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 3. On neutralise les contours/traits internes qui pourraient ressembler à des lignes grises
   quand le navigateur antialias les ombres (ça te fait parfois un petit filet gris sous les cartes)
*/
.tag.parent,
.tag.child {
  border: none !important;
  box-shadow:
    0 32px 60px rgba(0,0,0,.12),
    0 4px 16px rgba(0,0,0,.08) !important;
}

/* 4. On empêche qu'un SVG de liaison reste affiché si tu l'as encore dans le DOM.
   Si ta page contient l'élément .ao-lines (les courbes grises), on le masque aussi.
   -> Si tu veux les garder tu supprimes ce bloc.
*/
.ao-lines {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* ==== Points terminaux visibles (HTML, pas SVG) ==== */
.ao-dots {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ao-dots .dot {
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--line);
  border-radius: 50%;
  box-shadow: 0 0 4px rgba(0,0,0,0.15);
  opacity: 0.9;
  transform: translate(-50%, -50%);
  transition: all 0.25s ease;
}

.ao-dots .dot:hover {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.15);
}/* End custom CSS */