/*Base*/
body,
html {
  overflow-x: hidden !important;
}

/*============Fixed little gap between content body and footer===========*/
/* Remove space from the hidden SEO/Data region */
community_layout-hidden-region,
.community_layout-hidden-region {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove the gap caused by the wrapper spacer at the end of the content */
#layout-site-content .component-wrapper-spacer:last-child {
  margin-bottom: 0 !important;
}

/* Remove accidental blank lines at the end of Rich Text blocks */
.ql-editor > p:last-child:empty,
.ql-editor > div:last-child:empty,
.ql-editor > p:last-child br {
  display: none;
}

/* Ã°Å¸â€Â´ ========================================= */
/* Ã°Å¸â€Â´ 0. CONFIGURATION & ACCESSIBILITÃƒâ€°          */
/* Ã°Å¸â€Â´ ========================================= */
a[href*="#maincontent"],
a[class*="skip"],
button[class*="skip"],
.forceCommunitySkipToContent,
.slds-assistive-text {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* Ã°Å¸â€Âµ ========================================= */
/* Ã°Å¸â€Âµ 1. PILULE PRINCIPALE (CUSTOM-PILL)        */
/* Ã°Å¸â€Âµ ========================================= */

/* ON LIBÃƒË†RE LE HEADER (Pour l'overlap) */
[data-layout-site-region="header"] {
  background: transparent !important;
  position: relative !important;
  z-index: 999 !important;
  height: 0 !important;
  overflow: visible !important;
  border: none !important;
}

/* LA PILULE (La coquille externe uniquement) */
.custom-pill {
  /* Ã°Å¸Å¡Â¨ LE NOUVEAU CALCUL : 100% de l'ÃƒÂ©cran moins 132px Ãƒ  gauche et 132px Ãƒ  droite */
  width: calc(100% - 264px) !important;
  max-width: none !important; /* On retire le 95vw pour libÃƒÂ©rer la taille */

  height: 64px !important;
  background: #ffffff !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
  padding: 0 25px !important;

  /* CENTRAGE SÃƒâ€°CURISÃƒâ€° POUR LE BUILDER */
  margin: 40px auto 0 auto !important;
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important;
}

/* ASSURER QUE LA GRILLE REMPLISSE LA PILULE */
.custom-pill > .columns-content,
.custom-pill > .columns-content > .columns {
  height: 100% !important;
  margin: 0 !important;
}

/* FORCE LE CONTENU PRINCIPAL Ãƒâ‚¬ MONTER SOUS LE HEADER */
[data-layout-site-region="header"] + [data-layout-site-region="main"],
.site-main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 🟨 ========================================= */
/* 🟨 2. RECHERCHE DESKTOP & GLOBALE            */
/* 🟨 ========================================= */

/* CONTENEUR GLOBAL DE RECHERCHE */
.custom-search {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding-left: 20px !important;
}

/* TRANSFORMATION DU CHAMP DE RECHERCHE */
.custom-search .search-bar,
.custom-search .slds-input.search-input-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
}

/* Cacher l'icône SVG native INCLUSE dans le champ Salesforce */
.custom-search .slds-input__icon {
  display: none !important;
}

/* --- ETAT INACTIF --- */
.custom-search input.slds-input {
  font-family: inherit !important;
  font-weight: 700 !important;
  font-size: 16px !important; /* 👈 FIX ZOOM IOS */
  color: #000000 !important;
  cursor: pointer !important;
  line-height: 1 !important;
  width: 125px !important;
  padding: 0 30px 0 0 !important;
  border-bottom: 1px solid transparent !important;

  /* Transition par défaut (Active sur Desktop) */
  transition:
    width 0.3s ease,
    border-color 0.3s ease !important;

  /* Nettoyage des bordures natives */
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.custom-search input.slds-input::placeholder {
  color: #000000 !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* LE BOUTON LOUPE */
.custom-search .search-icon {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: -30px !important;
  pointer-events: none !important;
}

.custom-search .search-icon svg {
  width: 20px !important;
  height: 20px !important;
  fill: #000000 !important;
}

/* --- ETAT ACTIF (AU CLIC OU SI LE BOUTON CLEAR EST PRÉSENT) --- */
.custom-search:focus-within input.slds-input,
.custom-search:has(.clear) input.slds-input {
  width: 160px !important;
  border-bottom: 1px solid #000000 !important;
  padding-right: 45px !important;
  cursor: text !important;
}

.custom-search:focus-within input.slds-input::placeholder,
.custom-search:has(.clear) input.slds-input::placeholder {
  color: #757575 !important;
  font-weight: 400 !important;
}

.custom-search:focus-within .search-icon,
.custom-search:has(.clear) .search-icon {
  display: none !important;
}

/* 🚨 FIX ANTI-SURSAUT ET ZOOM IOS (MOBILE & TABLETTE) 🚨 */
@media (max-width: 1024px) {
  .custom-search input.slds-input,
  .custom-search:focus-within input.slds-input,
  .custom-search:has(.clear) input.slds-input {
    /* On retire 'width' des transitions sur les petits écrans. 
       Le champ prend sa place instantanément sans faire trembler la grille entière. */
    transition:
      border-color 0.2s ease,
      color 0.2s ease,
      background 0.2s ease !important;
    font-size: 16px !important; /* Force le 16px même à l'état actif pour bloquer le zoom iOS */
  }
}

/* --- BOUTON CLEAR (DESKTOP) --- */
.custom-search button.clear {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  display: block !important;
  z-index: 10 !important;
  cursor: pointer !important;

  color: transparent !important;
  background-color: transparent !important;
  border: none !important;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
  background-size: 18px 18px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  opacity: 0.6 !important;
  transition: opacity 0.2s ease !important;
}

.custom-search button.clear:hover {
  opacity: 1 !important;
}

/* --- 2.1 SUGGESTIONS DE RECHERCHE (CARTE GLOBALE) --- */
.custom-search {
  position: relative !important;
}

.custom-search .search-suggestions {
  position: absolute !important;
  top: 64px !important;
  right: 20px !important;
  left: auto !important;

  width: 850px !important;
  max-width: 95vw !important;

  background-color: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15) !important;
  z-index: 10000 !important;
  border: 1px solid #eaeaea !important;
  overflow: hidden !important;
  padding: 24px !important;
  display: block !important;
}

.custom-search .search-suggestions[aria-hidden="true"],
.custom-search .slds-hide .search-suggestions,
.custom-search .search-suggestions.slds-hide {
  display: none !important;
}

/* --- LAYOUT INTERNE SUGGESTIONS --- */
.custom-search .suggestions-container {
  display: flex !important;
  flex-direction: row !important;
  gap: 30px !important;
  align-items: flex-start !important;
  background-color: #ffffff !important;
}

.custom-search .suggestions-header,
.custom-search .product-suggestions-container .header {
  padding: 0 0 10px 0 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 12px !important;
  color: #757575 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 0 10px 0 !important;
  border-bottom: 1px solid #eaeaea !important;
}

/* --- 2.2 RESULTATS MOTS CLES --- */
.custom-search ul[role="listbox"] {
  flex: 1 !important;
  min-width: 200px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.custom-search .result-item {
  padding: 10px 0 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  background-color: transparent !important;
  border-bottom: 1px solid #f7f7f7 !important;
  transition: color 0.2s ease !important;
}

.custom-search .result-item:hover .result {
  color: #009ddf !important;
}

.custom-search .result-item .result {
  flex: 1 !important;
  margin-left: 10px !important;
  font-size: 14px !important;
  font-family: "Poppins", sans-serif !important;
  color: #000000 !important;
}

.custom-search .result-item .match-highlight {
  font-weight: 700 !important;
}

.custom-search .result-item-start svg,
.custom-search .result-item-end svg {
  width: 14px !important;
  height: 14px !important;
  fill: #757575 !important;
}

/* --- 2.3 GRILLE DES PRODUITS SUGGÉRÉS --- */
.custom-search .product-suggestions-container {
  flex: 2 !important;
  min-width: 0 !important;
}

.custom-search .product-suggestions-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.custom-search .grid-item {
  min-width: 0 !important;
  width: 100% !important;
}

.custom-search .product-suggestion-card-item {
  display: block !important;
  height: 100% !important;
  width: 100% !important;
}

.custom-search .productSuggestionCardContainer {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  text-decoration: none !important;
  background: #fdfdfd !important;
  border: 1px solid #eaeaea !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease !important;
}

.custom-search .productSuggestionCardContainer:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08) !important;
  text-decoration: none !important;
}

.custom-search .productSuggestionCardImageArea {
  width: 100% !important;
  height: 90px !important;
  overflow: hidden !important;
  background: #f0f0f0 !important;
}

.custom-search .productSuggestionCardImageArea img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.custom-search .productSuggestionCardDetailsArea {
  padding: 12px !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.custom-search .productSuggestionCardProductNameArea {
  font-family: "Poppins", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #000000 !important;
  line-height: 1.3 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  white-space: normal !important;
}

.custom-search .suggestions-result-list-end {
  margin-top: 16px !important;
  padding: 12px 20px !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  color: #ffffff !important;
  background: #009ddf !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: "Poppins", sans-serif !important;
  text-decoration: none !important;
  cursor: pointer !important;
  border: none !important;
  transition: background-color 0.2s ease !important;
}

.custom-search .suggestions-result-list-end:hover {
  background: #01415e !important;
  text-decoration: none !important;
}

/* 🟨 ========================================= */
/* 🟨 6. FIX SPÉCIFIQUE MOBILE (Moins de 767px) */
/* 🟨 ========================================= */

@media (max-width: 767px) {
  /* 1. On force la colonne à ne pas s'écraser */
  .custom-pill dxp_layout-column:nth-of-type(3) {
    min-width: 45px !important;
    display: flex !important;
    justify-content: flex-end !important;
    overflow: visible !important;
  }

  /* 2. FIX DOUBLE LOUPE */
  .custom-search .slds-input__icon {
    display: none !important;
  }

  .custom-search .search-icon {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    fill: #000 !important;
    z-index: 10 !important;
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
  }

  /* 3. Sécurité pour le conteneur mobile */
  .custom-search,
  .custom-search .search-bar,
  .custom-search .search-input-container {
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }

  /* 4. INPUT INACTIF (zone de clic sur la loupe) */
  .custom-search input.slds-input {
    background: transparent !important;
    color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
    padding: 0 !important;
    z-index: 20 !important;
    height: 44px !important;
  }

  .custom-search input.slds-input::placeholder {
    color: transparent !important;
  }

  /* ========================================= */
  /* ÉTAT ACTIF (QUAND LA RECHERCHE S'OUVRE)   */
  /* ========================================= */

  /* A. On rend le logo invisible MAIS on garde sa place pour éviter le sursaut de la grille */
  .custom-pill:has(.custom-search:focus-within)
    dxp_layout-column:nth-of-type(1),
  .custom-pill:has(.slds-input:focus) dxp_layout-column:nth-of-type(1),
  .custom-pill:has(.clear) dxp_layout-column:nth-of-type(1) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease !important; /* Uniquement l'opacité est animée */
  }

  /* B. La recherche peut s'étendre mais sans casser le layout */
  .custom-pill:has(.custom-search:focus-within)
    dxp_layout-column:nth-of-type(3),
  .custom-pill:has(.slds-input:focus) dxp_layout-column:nth-of-type(3),
  .custom-pill:has(.clear) dxp_layout-column:nth-of-type(3) {
    flex: 1 1 auto !important;
    justify-content: center !important;
  }

  /* C. Input actif visible */
  .custom-pill:has(.custom-search:focus-within) .custom-search input.slds-input,
  .custom-pill:has(.slds-input:focus) .custom-search input.slds-input,
  .custom-pill:has(.clear) .custom-search input.slds-input {
    color: #000000 !important;
    background: #ffffff !important;
    border-bottom: 2px solid #000000 !important;
    padding-left: 10px !important;
    padding-right: 40px !important;
    cursor: text !important;
    position: relative !important;
    z-index: 100 !important;
  }

  /* Placeholder visible */
  .custom-search:focus-within input.slds-input::placeholder,
  .custom-pill:has(.clear) .custom-search input.slds-input::placeholder {
    color: #757575 !important;
  }

  /* D. On cache la loupe pendant la saisie */
  .custom-search:focus-within .search-icon,
  .custom-pill:has(.clear) .search-icon {
    display: none !important;
  }

  /* E. Carte des suggestions */
  .custom-search .search-suggestions {
    height: auto !important;
    max-height: 65vh !important;
    min-height: auto !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 85px !important;
    left: 5% !important;
    width: 90% !important;
    z-index: 99999 !important;
  }

  /* Nettoyage Salesforce */
  .custom-search .search-suggestions-container,
  .custom-search .suggestions-container,
  .custom-search ul[role="listbox"] {
    height: auto !important;
    min-height: unset !important;
    padding-bottom: 0 !important;
  }

  /* Pied de la carte */
  .custom-search .suggestions-result-list-end {
    margin-top: 0 !important;
    padding: 12px 28px !important;
  }

  /* ========================================= */
  /* FIX CLEAR BUTTON MOBILE (Salesforce LWR) */
  /* ========================================= */

  .custom-search .search-input-container {
    position: relative !important;
    width: 100% !important;
  }

  /* bouton clear mobile avec croix SVG plus grande */
  .custom-search button.clear {
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
    cursor: pointer !important;
    z-index: 200 !important;
    color: transparent !important;
    background-color: transparent !important;
    border: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;
    background-size: 20px 20px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: 0.6 !important;
  }

  /* espace pour clear */
  .custom-search input.slds-input {
    padding-right: 70px !important;
  }

  /* quand on tape */
  .custom-search:focus-within button.clear,
  .custom-search:has(.clear) button.clear {
    display: block !important;
    opacity: 1 !important;
  }
}

/* Ã°Å¸Å¸Â¢ ========================================= */
/* Ã°Å¸Å¸Â¢ 3. MENU PRINCIPAL & SOUS-MENU (DESKTOP)   */
/* Ã°Å¸Å¸Â¢ ========================================= */

.custom-menu .exp-mega-menu__nav-bar__item-link,
.custom-menu .exp-mega-menu__nav-bar__item a,
.custom-menu .exp-mega-menu__nav-bar__item button,
.custom-menu .exp-mega-menu__nav-bar__item {
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(13px, 1.2vw, 16px) !important;
  line-height: 24px !important;
  color: #000000 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background: transparent !important;
  border: none !important;
}

.custom-menu .exp-mega-menu__nav-bar > li {
  margin-left: clamp(10px, 2vw, 32px) !important;
  margin-right: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.custom-menu .exp-mega-menu__nav-bar,
.custom-menu li.slds-grid,
.custom-menu .exp-mega-menu__nav-bar__item {
  height: 64px !important;
  display: flex !important;
  align-items: center !important;
}

/* ========================================= */
/* Ã°Å¸Å¡Â¨ LE VRAI FIX : DÃƒâ€°TRUIRE LA PRISON DES COLONNES */
/* ========================================= */

/* On dÃƒÂ©sactive la position, le "contain" et le "transform" 
   sur TOUS les parents du site publiÃƒÂ© ET du Builder Salesforce */
.custom-pill .columns-content,
.custom-pill .columns,
.custom-pill dxp_layout-column,
.custom-pill .column-content,
.custom-pill commerce_data_provider-navigation-menu-data-provider,
.custom-pill dxp_data_provider-data-proxy,
.custom-pill experience-mega-menu-navigation,
.custom-pill experience-responsive,
.custom-pill .container,
.custom-pill experience-mega-menu-navigation-desktop,
.custom-pill nav,
.custom-pill ul.exp-mega-menu__nav-bar,
.custom-pill li.slds-grid,
/* --- AJOUTS SPÃƒâ€°CIFIQUES POUR LE BUILDER SALESFORCE --- */
.custom-pill webruntimedesign-region-wrapper,
.custom-pill .interactions-region,
.custom-pill webruntimedesign-component-wrapper,
.custom-pill .interactions-component,
.custom-pill webruntimedesign-design-component,
.custom-pill .actualNode {
  position: static !important;
  contain: none !important;
  transform: none !important;
}

/* 2. LE CONTENEUR S'ALIGNE EXACTEMENT SUR LA PILULE */
.custom-menu .exp-mega-menu__nav-content-container {
  position: absolute !important;
  top: 64px !important; /* DÃƒÂ©marre exactement sous la pilule */

  /* L'alignement parfait : 0 Ãƒ  gauche, 100% de la pilule */
  left: 0 !important;
  width: 100% !important;

  padding-top: 5px !important; /* L'ÃƒÂ©cart visuel */
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  overflow: visible !important;
  z-index: 9999 !important;
  transform: none !important;
}

/* --- NETTOYAGE DES MARGES CACHÃƒâ€°ES DE SALESFORCE --- */
.custom-menu .exp-mega-menu__nav-content-backdrop,
.custom-menu .exp-mega-menu__nav-content-fs {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* --- LA GRILLE DES SOUS-MENUS --- */
.custom-menu .exp-mega-menu__nav-content {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px 10px !important;
  width: 100% !important;
  max-width: 100% !important;

  /* Ã°Å¸Å¡Â¨ C'EST ICI QUE TU RÃƒË†GLES LE VIDE Ã°Å¸Å¡Â¨ */
  /* 30px = l'espace en haut et en bas */
  /* 25px = l'espace Ãƒ  gauche et Ãƒ  droite. Modifie ce 25px si tu veux le texte plus prÃƒÂ¨s ou plus loin du bord ! */
  padding: 30px 25px !important;
}

/* 3. DESIGN DU PANNEAU BLANC (Sans toucher au texte) */
.custom-menu .exp-mega-menu__nav-content-backdrop,
.custom-menu .exp-mega-menu__nav-content-fs,
.custom-menu .exp-mega-menu__nav-content {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-radius: 25px !important;
  height: auto !important;
  min-height: min-content !important;
}

.custom-menu .exp-mega-menu__nav-content-backdrop {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
  overflow: hidden !important;
  width: 100% !important;
}

/* Verrouillage au survol */
.custom-menu li.slds-grid:hover .exp-mega-menu__nav-content-container {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* --- LA GRILLE DES SOUS-MENUS --- */
.custom-menu .exp-mega-menu__nav-content {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px 10px !important;
  width: 100% !important;
  padding: 30px 40px !important;
}

.custom-menu .exp-mega-menu__nav-content__category {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  text-align: left !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 5px !important;
}

/* ========================================= */
/* Ã°Å¸Å’Â¬Ã¯Â¸Â AÃƒâ€°RER LES LISTES DU SOUS-MENU          */
/* ========================================= */

/* 1. Espace entre le titre de la colonne et le premier lien */
.custom-menu .exp-mega-menu__nav-content__category-header {
  margin-bottom: 10px !important; /* Ãƒâ€°carte bien le titre du reste */
}

/* 2. Espace entre chaque lien de la liste */
.custom-menu .exp-mega-menu__nav-content__category-item,
.custom-menu .exp-mega-menu__nav-content__category ul li {
  margin-bottom: 10px !important; /* Ã°Å¸â€˜Ë† Augmente cette valeur (ex: 16px) pour ÃƒÂ©carter encore plus */
}

/* 3. On s'assure que les liens ont la place de respirer (pas ÃƒÂ©crasÃƒÂ©s) */
.custom-menu .exp-mega-menu__nav-content__category-item a,
.custom-menu .exp-mega-menu__nav-content__category ul li a {
  display: inline-block !important; /* Permet aux marges de bien s'appliquer */
  line-height: 1.4 !important; /* Hauteur de ligne confortable */
}

/* 4. On enlÃƒÂ¨ve la marge du tout dernier ÃƒÂ©lÃƒÂ©ment pour que l'alignement du bas reste propre */
.custom-menu .exp-mega-menu__nav-content__category-item:last-child,
.custom-menu .exp-mega-menu__nav-content__category ul li:last-child {
  margin-bottom: 0 !important;
}

/* ========================================= */
/* Ã°Å¸Å¡Â¨ SÃƒâ€°CURITÃƒâ€° : FORCER UNE SEULE LIGNE      */
/* ========================================= */

/* EmpÃƒÂªche le menu de passer Ãƒ  la ligne et de casser la hauteur de 64px */
.custom-menu .exp-mega-menu__nav-bar {
  flex-wrap: nowrap !important;
  overflow: visible !important;
}

/* Interdit aux textes des boutons de s'ÃƒÂ©craser sur 2 lignes */
.custom-menu .exp-mega-menu__nav-bar > li {
  white-space: nowrap !important;
  flex-shrink: 0 !important; /* EmpÃƒÂªche les ÃƒÂ©lÃƒÂ©ments de se ratatiner */
}

/* --- RESPONSIVITÃƒâ€° DESKTOP --- */
@media (min-width: 951px) and (max-width: 1250px) {
  .custom-menu .exp-mega-menu__nav-content {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

@media (min-width: 768px) and (max-width: 950px) {
  .custom-menu .exp-mega-menu__nav-content {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Ã°Å¸Å¸Â£ ========================================= */
/* Ã°Å¸Å¸Â£ 4. LOGO (CUSTOM-LOGO)                     */
/* Ã°Å¸Å¸Â£ ========================================= */

.custom-logo {
  width: 206.4px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-left: 15px !important;
}

.custom-logo img {
  width: 206.4px !important;
  height: 24px !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  display: block !important;
}

/* Ã°Å¸Å¸  ========================================= */
/* Ã°Å¸Å¸  5. RESPONSIVITÃƒâ€° MOBILE & TABLETTE         */
/* Ã°Å¸Å¸  ========================================= */

@media (max-width: 1024px) {
  /* Dimensions de la pilule (Mobile) */
  /* Dimensions de la pilule (Mobile) */
  .custom-pill {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 20px !important;

    /* Ã°Å¸Å¡Â¨ LE CALCUL MOBILE : 100% de l'ÃƒÂ©cran moins 16px Ãƒ  gauche et 16px Ãƒ  droite */
    width: calc(100% - 32px) !important;
    margin: 20px auto 0 auto !important;
  }

  /* Forcer la grille en ligne fluide (EmpÃƒÂªcher l'empilement) */
  .custom-pill > .columns-content > .columns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* Masquer les espaces vides injectÃƒÂ©s par Salesforce */
  .custom-pill dxp_layout-column-spacer {
    display: none !important;
  }

  /* --- ASTUCE DE CENTRAGE ABSOLU (Flex 1 - 0 - 1) --- */

  /* Menu Burger (Ãƒâ‚¬ GAUCHE) */
  .custom-pill dxp_layout-column:nth-of-type(2) {
    order: 1 !important;
    flex: 1 1 0% !important;
    display: flex !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  /* Logo (AU CENTRE EXACT) */
  .custom-pill dxp_layout-column:nth-of-type(1) {
    order: 2 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    transition:
      opacity 0.3s ease,
      width 0.3s ease !important; /* Animation pour la disparition */
  }

  /* Recherche (Ãƒâ‚¬ DROITE) */
  .custom-pill dxp_layout-column:nth-of-type(3) {
    order: 3 !important;
    flex: 1 1 0% !important;
    display: flex !important;
    justify-content: flex-end !important;
    min-width: 30px !important; /* SÃƒÂ©curitÃƒÂ© pour ne pas ÃƒÂ©craser la loupe */
    padding: 0 !important;
  }

  /* On force le contenu de la colonne 3 Ãƒ  pousser la loupe Ãƒ  droite */
  .custom-pill dxp_layout-column:nth-of-type(3) .column-content {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
  }

  /* --- APPLICATION DES DIMENSIONS STRICTES FIGMA --- */

  /* A. Le Burger : 18x12px */
  .custom-pill .exp-mobile-mega-menu__hamburger-button {
    width: 22px !important;
    height: 22px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .custom-pill .exp-mobile-mega-menu__hamburger-button svg {
    width: 22px !important;
    height: 22px !important;
    fill: #000000 !important;
  }

  /* B. Le Logo : 161.6 x 19px */
  .custom-pill .custom-logo {
    width: 161.6px !important;
    height: 19px !important;
    margin: 0 !important;
    justify-content: center !important;
  }
  .custom-pill .custom-logo img {
    width: 161.6px !important;
    height: 19px !important;
    object-fit: contain !important;
  }

  /* C. La Recherche Mobile : Le systÃƒÂ¨me "FantÃƒÂ´me" */
  .custom-pill .custom-search {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-end !important; /* Ancre Ãƒ  droite */
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
  }

  /* Ãƒâ€°tat inactif : L'input est un petit carrÃƒÂ© transparent posÃƒÂ© SUR la loupe */
  .custom-search .search-input-container {
    display: block !important;
  }

  .custom-search input.slds-input {
    display: block !important;
    width: 30px !important; /* Juste la taille cliquable */
    padding: 0 !important;
    color: transparent !important; /* Cache le texte */
    border-bottom: 1px solid transparent !important;
    background: transparent !important;
    transition:
      width 0.3s ease,
      border-color 0.3s ease,
      color 0.3s ease !important;
    z-index: 5 !important; /* Au dessus de la loupe */
  }

  .custom-search input.slds-input::placeholder {
    color: transparent !important;
  }

  /* L'icÃƒÂ´ne Loupe est EN DESSOUS et non-cliquable (le clic passe Ãƒ  travers) */
  .custom-search .search-icon {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    pointer-events: none !important; /* Magie : laisse passer le clic ! */
    z-index: 1 !important;
  }

  .custom-search .search-icon svg {
    width: 24px !important;
    height: 24px !important;
    fill: #000000 !important;
  }

  /* --- Ãƒâ€°TAT ACTIF (Tablette) : S'ouvre vers la gauche --- */
  .custom-search:focus-within input.slds-input,
  .custom-search:has(.clear) input.slds-input {
    width: 180px !important; /* S'ÃƒÂ©tire vers la gauche */
    color: #000000 !important;
    border-bottom: 1px solid #000000 !important;
    padding-right: 40px !important;
    padding-left: 5px !important;
  }

  .custom-search:focus-within input.slds-input::placeholder,
  .custom-search:has(.clear) input.slds-input::placeholder {
    color: #757575 !important;
  }

  /* Positionnement de la carte de suggestions sur tablette */
  /* .custom-search .search-suggestions {
    top: 50px !important;
    right: 0 !important;
    width: 320px !important;
  } */
}

/* Ã°Å¸Å¸Â£ ========================================= */
/* Ã°Å¸Å¸Â£ 6. FIX SPÃƒâ€°CIFIQUE MOBILE (Moins de 767px) */
/* Ã°Å¸Å¸Â£ ========================================= */

@media (max-width: 767px) {
  /* 1. On force la colonne Ãƒ  ne pas s'ÃƒÂ©craser */
  .custom-pill dxp_layout-column:nth-of-type(3) {
    min-width: 45px !important;
    display: flex !important;
    justify-content: flex-end !important;
    overflow: visible !important;
  }

  /* 2. FIX DOUBLE LOUPE */
  .custom-search .slds-input__icon {
    display: none !important;
  }

  .custom-search .search-icon {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    fill: #000 !important;
    z-index: 10 !important;
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
  }

  /* 3. SÃƒÂ©curitÃƒÂ© pour le conteneur mobile */
  .custom-search,
  .custom-search .search-bar,
  .custom-search .search-input-container {
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
  }

  /* 4. INPUT INACTIF (zone de clic sur la loupe) */
  .custom-search input.slds-input {
    background: transparent !important;
    color: transparent !important;
    border: none !important;
    cursor: pointer !important;
    width: 100% !important;
    padding: 0 !important;
    z-index: 20 !important;
    height: 44px !important;
  }

  .custom-search input.slds-input::placeholder {
    color: transparent !important;
  }

  /* ========================================= */
  /* Ãƒâ€°TAT ACTIF (QUAND LA RECHERCHE S'OUVRE)   */
  /* ========================================= */

  /* A. On rend le logo invisible MAIS on garde sa place */
  .custom-pill:has(.custom-search:focus-within)
    dxp_layout-column:nth-of-type(1),
  .custom-pill:has(.slds-input:focus) dxp_layout-column:nth-of-type(1),
  .custom-pill:has(.clear) dxp_layout-column:nth-of-type(1) {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease !important;
  }

  /* B. La recherche peut s'ÃƒÂ©tendre mais sans casser le layout */
  .custom-pill:has(.custom-search:focus-within)
    dxp_layout-column:nth-of-type(3),
  .custom-pill:has(.slds-input:focus) dxp_layout-column:nth-of-type(3),
  .custom-pill:has(.clear) dxp_layout-column:nth-of-type(3) {
    flex: 1 1 auto !important;
    justify-content: center !important;
  }

  /* C. Input actif visible */
  .custom-pill:has(.custom-search:focus-within) .custom-search input.slds-input,
  .custom-pill:has(.slds-input:focus) .custom-search input.slds-input,
  .custom-pill:has(.clear) .custom-search input.slds-input {
    color: #000000 !important;
    background: #ffffff !important;
    border-bottom: 2px solid #000000 !important;
    padding-left: 10px !important;
    padding-right: 40px !important;
    cursor: text !important;
    position: relative !important;
    z-index: 100 !important;
  }

  /* Placeholder visible */
  .custom-search:focus-within input.slds-input::placeholder,
  .custom-pill:has(.clear) .custom-search input.slds-input::placeholder {
    color: #757575 !important;
  }

  /* D. On cache la loupe pendant la saisie */
  .custom-search:focus-within .search-icon,
  .custom-pill:has(.clear) .search-icon {
    display: none !important;
  }

  /* E. Carte des suggestions */
  .custom-search .search-suggestions {
    height: auto !important;
    max-height: 65vh !important;
    min-height: auto !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;

    position: fixed !important;
    top: 85px !important;
    left: 5% !important;
    width: 90% !important;

    z-index: 99999 !important;
  }

  /* Nettoyage Salesforce */
  .custom-search .search-suggestions-container,
  .custom-search .suggestions-container,
  .custom-search ul[role="listbox"] {
    height: auto !important;
    min-height: unset !important;
    padding-bottom: 0 !important;
  }

  /* Pied de la carte */
  .custom-search .suggestions-result-list-end {
    margin-top: 0 !important;
    padding: 12px 28px !important;
  }

  /* ========================================= */
  /* FIX CLEAR BUTTON MOBILE (Salesforce LWR) */
  /* ========================================= */

  .custom-search .search-input-container {
    position: relative !important;
    width: 100% !important;
  }

  /* bouton clear mobile avec croix SVG plus grande */
  .custom-search button.clear {
    position: absolute !important;
    right: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    /* 1. Zone de clic trÃƒÂ¨s confortable pour le doigt */
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;

    display: block !important;
    visibility: visible !important;
    cursor: pointer !important;
    z-index: 200 !important;

    color: transparent !important;
    background-color: transparent !important;
    border: none !important;

    /* Trait lÃƒÂ©gÃƒÂ¨rement plus ÃƒÂ©pais (stroke-width='2') */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E") !important;

    /* 2. Dessin de la croix plus grand (20px au lieu de 16px) */
    background-size: 20px 20px !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: 0.6 !important;
  }

  /* espace pour clear */
  .custom-search input.slds-input {
    padding-right: 70px !important;
  }

  /* quand on tape */
  .custom-search:focus-within button.clear,
  .custom-search:has(.clear) button.clear {
    display: block !important;
    opacity: 1 !important;
  }
}

/* Ã°Å¸Å¸Â¤ ========================================= */
/* Ã°Å¸Å¸Â¤ 7. SÃƒâ€°LECTEUR DE LANGUE (DESKTOP)          */
/* Ã°Å¸Å¸Â¤ ========================================= */

/* 1. Reset du bouton global Salesforce */
.custom-language-selector commerce-action-button button.slds-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  height: auto !important;
  min-height: unset !important;
}

/* 2. Cacher dÃƒÂ©finitivement le globe (l'icÃƒÂ´ne SVG native) */
.custom-language-selector .commerce-country-picker-button-icon {
  display: none !important;
}

/* 3. Style du texte "EN" pur (nettoyÃƒÂ© par le JS) */
.custom-language-selector .button-content {
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #000000 !important;
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

/* 4. Ajout du chevron "v" Ãƒâ‚¬ DROITE du texte (DerriÃƒÂ¨re) */
.custom-language-selector .button-content::after {
  content: "";
  display: inline-block !important;
  width: 10px !important;
  height: 6px !important;
  margin-left: 6px !important; /* Ã°Å¸Å¡Â¨ Marge Ãƒ  gauche pour l'ÃƒÂ©carter du texte */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  transform: translateY(1px) !important;
}

/* Cacher la bordure moche de focus au clic */
.custom-language-selector commerce-action-button button.slds-button:focus {
  box-shadow: none !important;
}

/* 5. Ã°Å¸Å¡Â¨ RAPPROCHER FORTEMENT LE BOUTON DE LA RECHERCHE */

/* Ãƒâ€°crase le paramÃƒÂ¨tre Salesforce pour l'aligner Ãƒ  gauche dans sa case */
.custom-language-selector {
  --dxp-c-l-picker-button-alignment: left !important;
}
.custom-language-selector .commerce-country-picker-button-alignment {
  justify-content: flex-start !important;
}

/* On tire la colonne vers la gauche */
.custom-pill dxp_layout-column.col-large-size_1-of-12 {
  flex-grow: 0 !important;
  min-width: unset !important;
  margin-left: -30px !important; /* Ã°Å¸â€˜Ë† Modifie ce chiffre si tu veux le coller encore plus (-40px, -50px...) */
}

/* Ã°Å¸Å¸Â£ ========================================= */
/* Ã°Å¸Å¸Â£ 8. FIX SPÃƒâ€°CIFIQUE MOBILE (Moins de 1024px)*/
/* Ã°Å¸Å¸Â£ ========================================= */

@media (max-width: 1024px) {
  /* Cacher complÃƒÂ¨tement la colonne du sÃƒÂ©lecteur de langue sur Tablette/Mobile */
  .custom-pill dxp_layout-column.col-large-size_1-of-12,
  .custom-language-selector {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }
}

/* Ã°Å¸â€Âµ ========================================= */
/* Ã°Å¸â€Âµ 9. SECTION QUALIOPI : FORCER L'IMAGE      */
/* Ã°Å¸â€Âµ ========================================= */
.section-qualiopi {
  background-color: #e5f5fa !important; /* Le fond bleu reste sur la section */
  position: relative !important;
  overflow: visible !important; /* Autorise l'image Ãƒ  dÃƒÂ©passer */
}

/* 1. VERSION DESKTOP */
@media (min-width: 1855px) {
  /* On cible UNIQUEMENT l'image de fond */
  .section-qualiopi .background-image {
    display: block !important;
    position: absolute !important;

    /* On force ses dimensions exactes */
    width: 412px !important;
    height: 824px !important;

    /* On la colle Ãƒ  droite */
    right: 0 !important;
    left: auto !important;

    /* Le calcul exact : on la remonte de 21.5px */
    top: -21.5px !important;
    bottom: auto !important;

    /* On tue les effets de Salesforce qui la dÃƒÂ©forment */
    transform: none !important;
    margin: 0 !important;
    background-color: transparent !important; /* EmpÃƒÂªche le bleu de baver */
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center right !important;
  }

  /* Tes marges Desktop personnalisÃƒÂ©es */
  .custom-column-qualiopi {
    margin-left: 20rem !important;
    margin-right: 60rem !important;
  }
}

@media (max-width: 1854px) {
  .custom-column-qualiopi {
    margin-left: 10rem !important;
    margin-right: 20rem !important;
  }
}

/* 2. VERSION MOBILE ET TABLETTE (Structure globale) */
@media (max-width: 1200px) {
  .section-qualiopi .background-image {
    display: none !important; /* On cache l'image sur petit ÃƒÂ©cran */
  }

  .section-qualiopi {
    height: auto !important;
    min-height: auto !important;
    padding: 40px 20px !important; /* Ajoute de l'espace autour du texte */
  }

  /* On force TOUTES les colonnes Ãƒ  s'empiler proprement (100% de largeur) */
  .section-qualiopi dxp_layout-column {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    min-height: max-content !important; /* EmpÃƒÂªche le texte de disparaÃƒÂ®tre */
    margin-bottom: 20px !important; /* Espacement entre chaque bloc */
  }

  /* On annule tes ÃƒÂ©normes marges desktop sur mobile pour que le texte rentre */
  .custom-column-qualiopi {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* 3. FIX MOBILE SPÃƒâ€°CIFIQUE (Typographie, Logo, Ãƒâ€°lÃƒÂ©ments cachÃƒÂ©s) */
@media (max-width: 767px) {
  /* A. Cacher le texte sous le logo (Ãƒâ€¡a marchait dÃƒÂ©jÃƒ , on le garde) */
  .section-qualiopi .custom-text {
    display: none !important;
  }

  /* B. Fix du logo Qualiopi : On cible l'image <img /> Ãƒ  l'intÃƒÂ©rieur ! */
  .section-qualiopi .custom-qualiopi-logo,
  .section-qualiopi .custom-qualiopi-logo .image-wrapper,
  .section-qualiopi .custom-qualiopi-logo img {
    width: 193px !important;
    height: 103px !important;
    max-width: 193px !important; /* Bloque l'agrandissement Salesforce */
    object-fit: contain !important; /* Garde les proportions */
  }

  /* C. Fix du Titre : On cible le <h2> gÃƒÂ©nÃƒÂ©rÃƒÂ© par Salesforce */
  .custom-paragraph-2 h2,
  .custom-paragraph-2 .dxp-text-heading-large {
    font-size: 24px !important;
    line-height: 32px !important;
    font-weight: 700 !important;
  }

  /* D. Fix de la liste Ãƒ  puces HTML */
  .section-qualiopi .custom-qualiopi-list ul li {
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 24px !important;
  }

  /* E. FIX BOUTON : On cible UNIQUEMENT la balise <a> et son conteneur direct */

  /* 1. On remet le parent en comportement normal pour annuler les 3 colonnes */
  .section-qualiopi .custom-btn-qualiopi {
    display: block !important;
    width: 100% !important;
  }

  /* 2. On cache les balises fantÃƒÂ´mes de Salesforce qui perturbent l'affichage */
  .section-qualiopi .custom-btn-qualiopi experience-responsive:empty {
    display: none !important;
  }

  /* 3. On force le bouton cliquable Ãƒ  prendre toute la place et Ãƒ  centrer le texte */
  .section-qualiopi .custom-btn-qualiopi .container,
  .section-qualiopi .custom-btn-qualiopi .slds-button {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: nowrap !important; /* EmpÃƒÂªche le texte de s'ÃƒÂ©craser sur 2 lignes */
  }

  /* CrÃƒÂ©ation de la puce personnalisÃƒÂ©e */
  .custom-qualiopi-list li::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 8px !important; /* Aligne la puce sur la premiÃƒÂ¨re ligne */
    width: 2px !important;
    height: 2px !important;
    background-color: #000000 !important;
    border-radius: 50% !important;
    display: inline-block !important;
  }
}

/* 4. SÃƒâ€°CURITÃƒâ€°S */
.section-qualiopi .background-image-overlay {
  display: none !important;
}

.section-qualiopi .columns-content {
  position: relative !important;
  z-index: 2 !important;
}

/* Ã°Å¸â€Âµ ========================================= */
/* Ã°Å¸â€Âµ 10. SECTION QUALIOPI : Texte et logo      */
/* Ã°Å¸â€Âµ ========================================= */
.custom-qualiopi-list ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.custom-qualiopi-list li {
  position: relative !important;
  padding-left: 25px !important; /* Espace pour la puce */
  margin-bottom: 24px !important; /* Espacement entre les blocs de texte */
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  color: #1a1a1a !important;
}

/* CrÃƒÂ©ation de la puce personnalisÃƒÂ©e */
.custom-qualiopi-list li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 8px !important; /* Aligne la puce sur la premiÃƒÂ¨re ligne */
  width: 4px !important;
  height: 4px !important;
  background-color: #000000 !important;
  border-radius: 50% !important;
  display: inline-block !important;
}

/* Supprime la marge sur le dernier ÃƒÂ©lÃƒÂ©ment */
.custom-qualiopi-list li:last-child {
  margin-bottom: 0 !important;
}

/* Ã°Å¸â€Âµ ========================================= */
/* Ã°Å¸â€Âµ 11. SECTION PARTENAIRE : Texte et logo      */
/* Ã°Å¸â€Âµ ========================================= */
@media (min-width: 1025px) {
  .custom-partner {
    margin: 3rem 10rem !important;
  }

  .custom-partner .custom-paragraph-2 {
    margin-bottom: 2rem !important;
  }
}

@media (max-width: 1024px) {
  .custom-partner {
    margin: 2rem 0 !important;
  }

  .custom-partner .custom-paragraph-2 {
    margin-bottom: 2rem !important;
  }
}

@media (max-width: 767px) {
  /* 1. Fond transparent (InchangÃƒÂ©) */
  .custom-partner,
  .custom-partner dxp_content_layout-block-flexible,
  .custom-partner .dxp-block-flexible-layout,
  .custom-partner .dxp-block-flexible-container {
    background-color: transparent !important;
    background: transparent !important;
  }

  /* 2. RÃƒÂ©duire les logos (InchangÃƒÂ©) */
  .custom-partner .custom-section-logo-partner,
  .custom-partner .custom-section-logo-partner .image-wrapper,
  .custom-partner .custom-section-logo-partner .image-container,
  .custom-partner .custom-section-logo-partner img {
    width: 70.43px !important;
    max-width: 70.43px !important;
    height: 14.6px !important;
    max-height: 14.6px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
  }

  /* 3. FIX: Grille avec alignement strict (Annulation des marges nÃƒÂ©gatives) */
  .custom-partner .slds-grid.slds-wrap {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    /* On rÃƒÂ©partit l'espace proprement ou on centre */
    justify-content: center !important;
    gap: 10px !important;

    /* Ã°Å¸Å¡Â¨ LE SECRET EST ICI : on ÃƒÂ©crase les marges nÃƒÂ©gatives de Salesforce */
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  /* 4. FIX: Ãƒâ€°lÃƒÂ©ments de la grille sans paddings parasites */
  .custom-partner .dxp-grid-item {
    width: 30% !important;
    min-width: 30% !important;
    max-width: 30% !important;
    flex: 0 0 30% !important;

    /* Ã°Å¸Å¡Â¨ On met le padding Ãƒ  0 pour ÃƒÂ©viter que ÃƒÂ§a ne pousse la grille vers l'extÃƒÂ©rieur */
    padding: 5px 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Ã°Å¸â€Âµ ========================================= */
/* Ã°Å¸â€Âµ 13. CARD OVERLAY (FORMATION)      */
/* Ã°Å¸â€Âµ ========================================= */
.card-overlay {
  /* 1. Positionnement pour chevaucher (Toujours -200px) */
  margin-top: -200px !important;
  position: relative;
  z-index: 10;

  /* 2. Fond et Forme MIS Ãƒâ‚¬ JOUR */
  background-color: #ffffff !important; /* Fond blanc opaque */
  border-radius: 55px !important; /* 4 COINS ARRONDIS Ãƒ  40px */

  /* 3. La Bordure MISE Ãƒâ‚¬ JOUR (SUPPRIMÃƒâ€°E) */
  border: none !important; /* Pas de bordure visible */
  padding: 25px;
  box-shadow: 0 15px 15px rgba(0, 0, 0, 0.1) !important;
}

@media (max-width: 767px) {
  /* 1. Forcer la grille en colonne classique (empÃƒÂªcher le reverse ou l'empilement natif) */
  .card-overlay .dxp-block-two-column-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  /* 2. Forcer l'image (Child 1) Ãƒ  s'afficher en PREMIER (en haut) */
  .card-overlay .dxp-block-two-column-container > .slds-col:nth-of-type(1) {
    order: 1 !important;
    width: 100% !important;
    display: block !important;
    /* Optionnel : Assure que le bloc image garde une hauteur minimale sur mobile */
    min-height: 250px !important;
  }

  /* 3. Forcer le texte (Child 2) Ãƒ  s'afficher en SECOND (en bas) */
  .card-overlay .dxp-block-two-column-container > .slds-col:nth-of-type(2) {
    order: 2 !important;
    width: 100% !important;
    display: block !important;
  }

  /* 1. Forcer le conteneur du bouton Ãƒ  prendre 100% de la largeur */
  .card-overlay .custom-btn-choisir {
    display: block !important;
    width: 100% !important;
  }

  /* 2. Cacher les balises experience-responsive fantÃƒÂ´mes (vides) de Salesforce */
  .card-overlay .custom-btn-choisir experience-responsive:empty {
    display: none !important;
  }

  /* 3. Forcer le lien (le bouton lui-mÃƒÂªme) et son conteneur Ãƒ  remplir l'espace et centrer le texte */
  .card-overlay .custom-btn-choisir .container,
  .card-overlay .custom-btn-choisir .slds-button {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: nowrap !important;
  }
}

/*---------------------------------------------------------------*/
/*--------------------------NewStyle 2-----------------------------*/
/*---------------------------------------------------------------*/
/*---------------------------------------------------------------*/
/*--------------------------NewStyle 2-----------------------------*/
/*---------------------------------------------------------------*/
/*---------------------------------------------------------------*/
/*--------------------------NewStyle 2-----------------------------*/
/*---------------------------------------------------------------*/
.section-light-blue {
  background-color: #dbf5ff;
  /* Optionnel : ajoutez du padding pour que le contenu ne touche pas les bords */
  padding: 40px 20px;
}
.custom-gradient-banner {
  /* DÃƒÂ©gradÃƒÂ© de gauche Ãƒ  droite */
  background: linear-gradient(90deg, #01415e 0%, #009ddf 100%);
  overflow: hidden;
  /* Arrondi de 80px uniquement en bas (Gauche et Droite) */
  /* Syntaxe : top-left top-right bottom-right bottom-left */
  border-radius: 0 0 80px 80px;

  /* Optionnel : pour bien voir l'effet */
  padding: 40px;
  color: white;
}
.custom-gradient-banner::after {
  content: ""; /* Obligatoire pour afficher le pseudo-ÃƒÂ©lÃƒÂ©ment */
  position: absolute; /* Positionne le calque prÃƒÂ©cisÃƒÂ©ment */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  /* DÃƒÂ©gradÃƒÂ© : Transparent de 0% Ãƒ  50%, puis devient noir progressivement jusqu'Ãƒ  100% */
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    /* Totalement transparent en haut */ rgba(0, 0, 0, 0) 20%,
    rgba(0, 0, 0, 0.7) 80%,
    /* Reste totalement transparent jusqu'au milieu */ rgba(0, 0, 0, 1) 100%
      /* Devient noir vers le bas */
  );

  z-index: 2; /* Place le calque au-dessus de l'image de fond (z-index 1) */
  pointer-events: none;
}
/* Si vous avez une image de fond dans la banniÃƒÂ¨re, assurez-vous qu'elle est en dessous */
.custom-gradient-banner > img {
  position: relative;
  z-index: 1; /* Image de fond en dessous du calque noir */
}

/* Le texte doit ÃƒÂªtre au-dessus du calque noir pour rester lisible */
.custom-gradient-banner h1,
.custom-gradient-banner p {
  position: relative;
  z-index: 3; /* Texte au-dessus du calque noir */
  color: white; /* Assurez-vous que le texte est blanc pour le contraste */
}

.bg-only-transparent {
  /* Supprime toute couleur ou dÃƒÂ©gradÃƒÂ© */
  background: transparent;
  position: relative;
  bottom: -2.5em;
}
.banniere-content {
  /* On fait descendre la banniÃƒÂ¨re de quelques rem */
  margin-top: 3rem;

  /* On s'assure qu'elle touche le bas ou reste bien positionnÃƒÂ©e */
  padding-bottom: 2rem;
}
.interligne-etroit {
  line-height: 10%; /* Plus petit que la taille normale du texte */
}
.banner-text {
  color: white;
  font-size: 80px;
  text-align: center;
  /* On s'assure que le conteneur ne crÃƒÂ©e pas de scroll */
  overflow: hidden;
}

.banner-text p {
  font-weight: 700;
  margin: 0; /* Supprime l'espace invisible qui crÃƒÂ©e le scroll */
  line-height: 0.85;
  letter-spacing: -1px;
}
/* --- TABLETTE (Ãƒâ€°crans infÃƒÂ©rieurs Ãƒ  1024px) --- */
@media (max-width: 1024px) {
  .banner-text {
    font-size: 50px; /* Taille inventÃƒÂ©e pour tablette */
  }
}

/* --- MOBILE (Ãƒâ€°crans infÃƒÂ©rieurs Ãƒ  768px) --- */
@media (max-width: 768px) {
  .banner-text {
    font-size: 32px; /* Taille demandÃƒÂ©e pour mobile */
  }

  /* On peut aussi ajuster l'arrondi de la banniÃƒÂ¨re sur mobile si besoin */
  .custom-gradient-banner {
    border-radius: 0 0 40px 40px;
  }
}

/*---------------------------------------------------------------*/
/*--------------------------NewStyle latest modif-----------------------------*/
/*---------------------------------------------------------------*/ /*---------------------------------------------------------------*/
/*--------------------------NewStyle latest modif-----------------------------*/
/*---------------------------------------------------------------*/ /*---------------------------------------------------------------*/
/*--------------------------NewStyle latest modif-----------------------------*/
/*---------------------------------------------------------------*/
/* GÃ¨re la couleur du titre en rouge */
.error-style h1 {
  color: #d93025; /* Un rouge vif pour marquer l'erreur */
  margin-bottom: 15px;
}

/* L'icÃ´ne d'erreur (si tu n'as pas d'image) */
.error-style {
  display: flex;
  justify-content: center;
  align-items: center;
}

.error-style .container {
  text-align: center;
  background: white;
  padding: 40px;
  border-radius: 15px;
  background: #ffffff;
  background-color: #ffffff;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  max-width: 1200px;
  width: 100%;
}

.error-icon {
  width: 60px;
  height: 60px;
  background-color: #ffe6e6;
  border-radius: 50%;
  margin: 0 auto 20px auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.error-icon::before,
.error-icon::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 4px;
  background-color: #d93025;
  border-radius: 2px;
}

.error-icon::before {
  transform: rotate(45deg);
}

.error-icon::after {
  transform: rotate(-45deg);
}

.error-style p {
  color: #555;
  font-size: 16px;
  line-height: 1.6;
}

.error-style .btn {
  display: inline-block;
  margin-top: 25px;
  padding: 12px 25px;
  background: #28a745;
  color: white;
  text-decoration: none;
  border-radius: 8px;
  transition: 0.3s;
}

/*.custom-pill{
        display: none !important;
    }*/

/* Cibler le h1 Ã  l'intÃ©rieur de banner-text */
.banner-text h1 {
  /* 1. Rendre la taille de la police fluide avec clamp() */
  /* clamp(Taille_Min, Taille_Ideale_en_vw, Taille_Max) */
  font-size: clamp(2rem, 5vw, 4rem) !important;

  /* 2. Forcer le passage Ã  la ligne au lieu de dÃ©border */
  white-space: normal;
  overflow-wrap: break-word;

  /* 3. Ajouter une petite marge interne pour Ã©viter que le texte touche le bord exact */
  padding-left: 15px;
  padding-right: 15px;
}

.custom-article-content {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

@media (max-width: 1024px) {
  .custom-article-content {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.article-formation {
  background-color: #dbf5ff;
  padding: 40px 20px;
}

/*
.article-formation:not(:has(c-lwc03-thematic-carousel .product-card)) {
    background-color: rgb(241, 246, 250) !important;
}*/

.confirmation-style {
  display: flex;
  justify-content: center;
  align-items: center;
}

.confirmation-style .container {
  text-align: center;
  background: white;
  padding: 40px;
  border-radius: 15px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  max-width: 1200px;
  width: 100%;
}

.confirmation-style .check-icon {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #28a745;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 20px;
}

.confirmation-style .check-icon::after {
  content: "\2714";
  color: white;
  font-size: 50px;
  font-weight: bold;
}

.confirmation-style h1 {
  color: #28a745;
  margin-bottom: 15px;
}

.confirmation-style p {
  color: #555;
  font-size: 16px;
  line-height: 1.6;
}

.confirmation-style .btn {
  display: inline-block;
  margin-top: 25px;
  padding: 12px 25px;
  background: #28a745;
  color: white;
  text-decoration: none;
  border-radius: 8px;
  transition: 0.3s;
}

/* 1. Appliquer le style de conteneur (fond blanc, radius, padding, largeur) au Rich Text Editor entier */
/* Nous ciblons le conteneur interne du texte enrichi pour Ã©viter les Shadow DOM LWC */
.article-body-long .ql-editor.cb-outputRichText-container {
  background-color: #ffffff !important; /* Fond blanc, forcÃ© */
  border-radius: 24px !important; /* Bords arrondis de 24px, forcÃ© */
  padding: 24px !important; /* Padding interne de 24px, forcÃ© */
  margin: 0 auto !important; /* Centrer le bloc s'il est plus large que l'Ã©cran */
  display: flow-root !important; /* Important pour que le texte wrap autour de l'image (si vous l'ajoutez) */
}

/* ==========================================================================
   MÃ‰THODE BRUTE FORCE : DESTRUCTION DE TOUS LES GAPS
   ========================================================================== */

/* 1. ON Ã‰CRASE TOUT : ZÃ©ro marge, zÃ©ro padding sur absolument tous les Ã©lÃ©ments */
.article-body-long .cb-outputRichText-container,
.article-body-long .cb-outputRichText-container * {
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Ã‰RADICATION DES RETOURS Ã€ LA LIGNE */
.article-body-long .cb-outputRichText-container br {
  display: none !important;
}

/* 3. RECONSTRUCTION AU MILLIMÃˆTRE (TrÃ¨s serrÃ©) */

/* Titres */
.article-body-long .cb-outputRichText-container h2 {
  color: #01415d !important;
  font-weight: 700 !important;
}

.article-body-long .cb-outputRichText-container h3 {
  color: #009ddf !important;
  font-weight: 600 !important;
}

/* Listes Ã  puces (ObligÃ© de remettre un petit padding gauche sinon on ne voit plus les puces) */
.article-body-long .cb-outputRichText-container ul {
  padding-left: 20px !important;
}

.article-body-long .cb-outputRichText-container li {
}

/* MÃ©dias (Images et iframe YouTube) : CentrÃ©s et serrÃ©s */
.article-body-long .cb-outputRichText-container img,
.article-body-long .cb-outputRichText-container iframe {
  display: block !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  border-radius: 8px !important;
}

/* Comportement spÃ©cifique de la vidÃ©o pour qu'elle s'adapte sans casser la page */
.article-body-long .cb-outputRichText-container iframe {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
}

/* Le bloc de citation (si vous l'avez toujours) */
.article-body-long .cb-outputRichText-container strong em,
.article-body-long .cb-outputRichText-container em strong {
  display: block !important;
  margin: 15px 0 !important;
  padding: 15px !important;
  background-color: rgb(241, 246, 250) !important;
  border-left: 5px solid #009ddf !important;
}

/*===========================================================*/

/* 1. DÃ©finir la taille exacte sur le conteneur principal */
.article-image-banner .image-wrapper {
  width: 100% !important;
  /*max-width: 825px !important;*/
  height: 280px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  margin: 0 auto !important;
}

/* 2. NOUVEAU : Forcer TOUTES les balises intermÃ©diaires de Salesforce Ã  remplir l'espace */
.article-image-banner .image-container,
.article-image-banner .image,
.article-image-banner picture {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* 3. Appliquer le mode "Fill" (cover) sur l'image elle-mÃªme */
.article-image-banner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important; /* EmpÃªche les marges fantÃ´mes sous l'image */
}

/*==================================================================================*/
/* Conteneur des tags */
.tags-container {
  display: flex;
  flex-direction: row;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 16px;
}

/* Style de chaque tag (Ã©tiquette) */
.article-tag {
  border: 1px solid #ffffff;
  border-radius: 32px;
  padding: 3px 8px;
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 0.85rem;
  font-weight: 500;
  background-color: transparent;
  margin: 0;
  white-space: nowrap;

  /* 1. Force l'annulation des majuscules globales */
  text-transform: none;
}

/* 2. Masque complÃ¨tement la bordure et l'Ã©lÃ©ment si le champ CMS est vide */
.article-tag:empty {
  display: none;
}

@media (max-width: 767px) {
  .card-overlay {
    /* 2. Fond et Forme MIS Ã€ JOUR */
    background-color: #ffffff !important; /* Fond blanc opaque */
    border-radius: 32px !important; /* 4 COINS ARRONDIS Ã  40px */
    padding: 5px 20px 10px 20px;
  }
}

/* --- Ã‰TAT 1 : NORMAL (Au chargement, avant de scroller) --- */
.custom-pill,
dxp_layout-columns.custom-pill {
  position: relative !important;
  margin-top: 40px !important;

  /* Ajout de 'width' Ã  la transition pour que l'Ã©tirement vers le plein Ã©cran soit fluide */
  transition:
    width 0.3s ease,
    border-radius 0.3s ease,
    box-shadow 0.3s ease,
    background-color 0.3s ease !important;

  z-index: 99999 !important;
}

/* --- Ã‰TAT 2 : COLLÃ‰ EN HAUT ET PLEIN Ã‰CRAN (Classe ajoutÃ©e par le JS) --- */
.custom-pill.is-stuck,
dxp_layout-columns.custom-pill.is-stuck {
  position: fixed !important;
  top: 0 !important;
  margin-top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;

  /* ðŸš¨ LES CHANGEMENTS SONT ICI : */
  width: 100% !important; /* Ã‰crase la largeur (calc) pour prendre 100% de l'Ã©cran */
  border-radius: 0 !important; /* Retire totalement les angles arrondis */

  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
  background-color: #ffffff !important;
}

/* --- MODIFICATIONS DU SOUS-MENU EN MODE STICKY --- */

/* 1. On cible le conteneur du sous-menu quand la pilule globale est en mode "stuck" */
.custom-pill.is-stuck .custom-menu .exp-mega-menu__nav-content-container,
dxp_layout-columns.custom-pill.is-stuck
  .custom-menu
  .exp-mega-menu__nav-content-container {
  /* On enlÃ¨ve le gap (padding-top: 5px) dÃ©fini dans ton Static Resource */
  padding-top: 0 !important;
  /* ðŸ‘‰ On met le sous-menu AU-DESSUS de la pilule pour cacher l'ombre qui bave */
  z-index: 100000 !important;
}

/* 2. On enlÃ¨ve les arrondis et on force le blanc sur TOUS les layers du sous-menu */
.custom-pill.is-stuck .custom-menu .exp-mega-menu__nav-content-backdrop,
.custom-pill.is-stuck .custom-menu .exp-mega-menu__nav-content-fs,
.custom-pill.is-stuck .custom-menu .exp-mega-menu__nav-content,
dxp_layout-columns.custom-pill.is-stuck
  .custom-menu
  .exp-mega-menu__nav-content-backdrop,
dxp_layout-columns.custom-pill.is-stuck
  .custom-menu
  .exp-mega-menu__nav-content-fs,
dxp_layout-columns.custom-pill.is-stuck
  .custom-menu
  .exp-mega-menu__nav-content {
  border-radius: 0 !important;
  background-color: #ffffff !important;
  box-shadow: none !important; /* On nettoie d'abord toutes les ombres parasites */
}

/* 3. NOUVEAU : On ajoute l'ombre UNIQUEMENT vers le bas sur la couche de fond (backdrop) */
.custom-pill.is-stuck .custom-menu .exp-mega-menu__nav-content-backdrop,
dxp_layout-columns.custom-pill.is-stuck
  .custom-menu
  .exp-mega-menu__nav-content-backdrop {
  /* L'astuce : X=0, Y=12px (pousse vers le bas), Blur=15px, Spread=-8px (rÃ©trÃ©cit l'ombre pour qu'elle ne sorte pas en haut) */
  box-shadow: 0 12px 15px -8px rgba(0, 0, 0, 0.15) !important;
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ CONTENEUR PRINCIPAL : POLITIQUE DE CONFIDENTIALITÃ‰        */
/* ðŸ”µ ========================================================= */

.custom-politique-confidentiel {
  background-color: #ffffff !important;
  border-radius: 24px !important;
  padding: 40px !important;
  margin-left: 4rem !important;
  margin-right: 4rem !important;
  box-sizing: border-box !important;
  display: block !important;
  overflow: hidden !important;
}

/* ðŸš¨ FORCE LE FOND BLANC SUR TOUTE LA HIÃ‰RARCHIE (Sous-conteneurs Salesforce) */
.custom-politique-confidentiel,
.custom-politique-confidentiel div {
  background-color: #ffffff !important;
}

@media (max-width: 1024px) {
  .custom-politique-confidentiel {
    padding: 20px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ CONTACT LÃ‰GAL (STRUCTURE ET ESPACEMENTS)                  */
/* ðŸ”µ ========================================================= */

/* Le conteneur spÃ©cifique du texte (Sans Arrondis) */
.contact-legal {
  --contact-legal-inline: 22px;
  display: block !important;
  background: transparent !important; /* Laisse le fond blanc du parent */
  border-radius: 0px !important;
  margin: 10px 0 !important;
  overflow: hidden !important;
}

/* Conteneur de texte interne */
.contact-legal .cb-outputRichText-container {
  position: relative !important;
  padding: 18px var(--contact-legal-inline) 24px !important;
  margin-bottom: 14px !important;
}

/* Ligne bleue tout en bas */
.contact-legal .cb-outputRichText-container::after {
  content: "";
  position: absolute;
  left: var(--contact-legal-inline);
  right: var(--contact-legal-inline);
  bottom: 0;
  height: 1px;
  background: #3368b4 !important;
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ CONTACT LÃ‰GAL (TYPOGRAPHIE COMPLÃˆTE)                      */
/* ðŸ”µ ========================================================= */

/* --- 1. GRAND TITRE H1 --- */
.contact-legal h1,
.contact-legal .ql-editor h1,
.contact-legal h1 strong,
.contact-legal .ql-editor h1 strong,
.contact-legal h1 span {
  font-family: "Poppins", sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  color: rgba(12, 17, 19, 1) !important;
}

@media (max-width: 768px) {
  .contact-legal h1,
  .contact-legal .ql-editor h1,
  .contact-legal h1 strong,
  .contact-legal .ql-editor h1 strong,
  .contact-legal h1 span {
    font-size: 24px !important;
  }
}

/* --- 2. SOUS-TITRES H4 & FAUX H4 (DIV > STRONG isolÃ©) --- */

/* Typographie (Couleurs et Tailles) */
.contact-legal h4,
.contact-legal .ql-editor h4,
.contact-legal h4 strong,
.contact-legal .ql-editor h4 strong,
.contact-legal h4 span,
.contact-legal .ql-editor div > strong:only-child {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  color: rgba(1, 65, 94, 1) !important;
}

/* Marges des sous-titres */
.contact-legal h4,
.contact-legal .ql-editor h4,
.contact-legal .ql-editor div > strong:only-child {
  margin-top: 16px !important;
  margin-bottom: 6px !important;
  padding-top: 0 !important;
  border-top: none !important;
  display: block !important;
}

/* Ligne de sÃ©paration bleue (::before) */
.contact-legal .ql-editor h4:not(:first-of-type)::before,
.contact-legal .ql-editor div > strong:only-child::before {
  content: "";
  display: block;
  border-top: 1px solid #3368b4 !important;
  margin: 0 0 16px !important;
}

/* Esquive des sauts de ligne invisibles pour le premier Ã©lÃ©ment */
.contact-legal .ql-editor > div:nth-of-type(1) > strong:only-child::before,
.contact-legal .ql-editor > div:nth-of-type(2) > strong:only-child::before,
.contact-legal .ql-editor > div:nth-of-type(3) > strong:only-child::before {
  display: none !important;
}

.contact-legal .ql-editor h4:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* --- 3. TOUS LES AUTRES TEXTES (Paragraphes) --- */
.contact-legal div,
.contact-legal p,
.contact-legal span,
.contact-legal li {
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
  color: rgba(0, 0, 0, 1) !important;
}

/* Gras normal Ã  l'intÃ©rieur d'une phrase */
.contact-legal div strong,
.contact-legal p strong,
.contact-legal li strong {
  font-weight: 700 !important;
  color: rgba(0, 0, 0, 1) !important;
}

/* --- 4. GESTION DES RETRAITS (INDENTATIONS SALESFORCE) --- */
.contact-legal .ql-indent-1,
.contact-legal .ql-editor .ql-indent-1 {
  padding-left: 10px !important;
}

.contact-legal .ql-indent-2,
.contact-legal .ql-editor .ql-indent-2 {
  padding-left: 20px !important;
}

/* ðŸ” ========================================================= */
/* ðŸ” FIX BARRE DE RECHERCHE - Ã‰CRANS MOYENS (1025px - 1400px)  */
/* ðŸ” ========================================================= */
@media screen and (min-width: 1025px) and (max-width: 1400px) {
  /* 1. On rÃ©duit la taille de base (Ã©tat inactif) */
  .custom-search input.slds-input {
    width: 120px !important; /* RÃ©duit par rapport au 125px de base */
  }

  /* 2. On empÃªche l'expansion ou on la limite fortement (Ã©tat actif) */
  .custom-search:focus-within input.slds-input,
  .custom-search:has(.clear) input.slds-input {
    width: 120px !important; /* S'Ã©tend beaucoup moins (au lieu de 160px) */
  }
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ RECHERCHE CLOSE SUGGESTIION             */
/* ðŸ”µ ========================================================= */
/* --- CLASSE DE FERMETURE FORCÃ‰E (GÃ©rÃ©e par le JS) --- */
.force-hide-search-dropdown {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ SECTION AVIS CLIENTS (CONTENEUR BLANC)                    */
/* ðŸ”µ ========================================================= */

.custom-avis {
  background-color: #ffffff !important; /* Le fond blanc */
  border-radius: 24px !important; /* Les bords arrondis identiques */

  /* Marges internes et externes pour que Ã§a respire comme sur Figma */
  padding: 40px !important;
  margin-left: 4rem !important;
  margin-right: 4rem !important;

  box-sizing: border-box !important;
  display: block !important;
  overflow: hidden !important; /* Garde le contenu bien Ã  l'intÃ©rieur des bords arrondis */
}

/* Version tablette/mobile (on rÃ©duit l'espace interne pour les petits Ã©crans) */
@media (max-width: 1024px) {
  .custom-avis {
    padding: 20px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ SECTION AVIS CLIENTS (CONTENU INTERNE)                    */
/* ðŸ”µ ========================================================= */

/* --- 1. L'IMAGE (Logo) --- */
.custom-avis .avis-image,
.custom-avis .avis-image img {
  width: 60px !important;
  height: 60px !important;
  object-fit: contain !important; /* EmpÃªche l'image de s'Ã©tirer ou se dÃ©former */
  display: block !important;
}

/* --- 2. LA DESCRIPTION (Texte de l'avis) --- */
/* On cible toutes les balises internes (em, span, div, p) pour forcer le design */
.custom-avis .avis-description,
.custom-avis .avis-description .ql-editor,
.custom-avis .avis-description .ql-editor div,
.custom-avis .avis-description .ql-editor p,
.custom-avis .avis-description .ql-editor span,
.custom-avis .avis-description .ql-editor em {
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
  color: rgba(0, 0, 0, 1) !important;
}

/* --- 3. L'INFO UTILISATEUR (Nom et poste) --- */
.custom-avis .avis-info-user,
.custom-avis .avis-info-user .ql-editor,
.custom-avis .avis-info-user .ql-editor div,
.custom-avis .avis-info-user .ql-editor p,
.custom-avis .avis-info-user .ql-editor span {
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  color: rgba(0, 105, 180, 1) !important; /* Le bleu Onepoint */
}

/* --- 4. LE GRAND TITRE H2 ("Ils nous font confiance") --- */

/* Version Bureau (Desktop) */
.custom-avis h2,
.custom-avis h2 span,
.custom-avis dxp_base-text-block h2 {
  font-family: "Poppins", sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important; /* Bold */
  line-height: 40px !important;
  letter-spacing: 0px !important;
  color: rgba(12, 17, 19, 1) !important; /* Noir onepoint */
  margin-bottom: 24px !important;
  display: block !important;
}

/* Version Tablette et Mobile */
@media (max-width: 1024px) {
  .custom-avis h2,
  .custom-avis h2 span,
  .custom-avis dxp_base-text-block h2 {
    font-size: 24px !important;
    line-height: 32px !important;
  }
}
/* ðŸ”µ ========================================================= */
/* ðŸ”µ GRILLE MENTIONS LÃ‰GALES (ESPACEMENTS GLOBAUX)             */
/* ðŸ”µ ========================================================= */

.custom-grid-mention-legale {
  padding-left: 4rem !important; /* 4rem divisÃ© par 2 */
  padding-right: 4rem !important; /* 4rem divisÃ© par 2 */
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;
}

@media (max-width: 1024px) {
  .custom-grid-mention-legale {
    padding-left: 0 !important; /* 16px divisÃ© par 2 */
    padding-right: 0 !important; /* 16px divisÃ© par 2 */
  }
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ ESPACEMENT ENTRE LES COMPOSANTS DU REPEATER (2rem)        */
/* ðŸ”µ ========================================================= */

.custom-grid-mention-legale .dxp-grid-item {
  padding-bottom: 2rem !important;
}

/* On enlÃ¨ve l'espace sous le tout dernier composant pour ne pas avoir un vide inutile en bas de la page */
.custom-grid-mention-legale .dxp-grid-item:last-child {
  padding-bottom: 0 !important;
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ MENTIONS LÃ‰GALES (TYPOGRAPHIE FIGMA & CONTENEUR)          */
/* ðŸ”µ ========================================================= */

/* --- 1. LE CONTENEUR BLANC --- */
.legal-content {
  --legal-content-inline: 22px; /* 44px divisÃ© par 2 */
  display: block !important;
  background: #ffffff !important;
  border-radius: 25px !important;
  overflow: hidden !important;
}

.legal-content .cb-outputRichText-container {
  position: relative !important;
  padding: 18px var(--legal-content-inline) 24px !important;
  margin-bottom: 14px !important;
}

/* Ligne bleue tout en bas du conteneur blanc */
.legal-content .cb-outputRichText-container::after {
  content: "";
  position: absolute;
  left: var(--legal-content-inline);
  right: var(--legal-content-inline);
  bottom: 0;
  height: 1px;
  background: #3368b4;
}

/* --- 2. GRAND TITRE H1 --- */
.legal-content h1,
.legal-content .ql-editor h1,
.legal-content h1 strong,
.legal-content .ql-editor h1 strong,
.legal-content h1 span {
  font-family: "Poppins", sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  color: rgba(12, 17, 19, 1) !important;
}

@media (max-width: 768px) {
  .legal-content h1,
  .legal-content .ql-editor h1,
  .legal-content h1 strong,
  .legal-content .ql-editor h1 strong,
  .legal-content h1 span {
    font-size: 24px !important;
  }
}
/* --- 3. SOUS-TITRES H4 & FAUX H4 (DIV > STRONG isolÃ©) --- */

/* A. Typographie (Couleurs et Tailles) */
.legal-content h4,
.legal-content .ql-editor h4,
.legal-content h4 strong,
.legal-content .ql-editor h4 strong,
.legal-content h4 span,
.legal-content .ql-editor div > strong:only-child {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  color: rgba(1, 65, 94, 1) !important;
}

/* B. Marges et Comportement Structurel */
.legal-content h4,
.legal-content .ql-editor h4,
.legal-content .ql-editor div > strong:only-child {
  margin-top: 16px !important;
  margin-bottom: 6px !important;
  padding-top: 0 !important;
  border-top: none !important;
  display: block !important;
}

/* Ligne de sÃ©paration bleue avant les sous-titres (::before) */
.legal-content .ql-editor h4:not(:first-of-type)::before,
.legal-content .ql-editor div > strong:only-child::before {
  content: "";
  display: block;
  border-top: 1px solid #3368b4 !important;
  margin: 0 0 16px !important;
}

/* ðŸš¨ LA CORRECTION EST ICI : On cible les 3 premiers DIV pour esquiver les "sauts de ligne" invisibles de Salesforce ðŸš¨ */
.legal-content .ql-editor > div:nth-of-type(1) > strong:only-child::before,
.legal-content .ql-editor > div:nth-of-type(2) > strong:only-child::before,
.legal-content .ql-editor > div:nth-of-type(3) > strong:only-child::before {
  display: none !important;
}

.legal-content .ql-editor h4:first-of-type {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* --- 4. TOUS LES AUTRES TEXTES (div, p, etc.) --- */
.legal-content div,
.legal-content p,
.legal-content span,
.legal-content li {
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 22px !important;
  color: rgba(0, 0, 0, 1) !important;
}

/* Gras normal Ã  l'intÃ©rieur d'une phrase (Reste Noir) */
.legal-content div strong,
.legal-content p strong,
.legal-content li strong {
  font-weight: 700 !important;
  color: rgba(0, 0, 0, 1) !important;
}

/* --- 5. GESTION DES RETRAITS (INDENTATIONS SALESFORCE) --- */
.legal-content .ql-indent-1,
.legal-content .ql-editor .ql-indent-1 {
  padding-left: 10px !important;
}

.legal-content .ql-indent-2,
.legal-content .ql-editor .ql-indent-2 {
  padding-left: 20px !important;
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ SECTION "EN SAVOIR PLUS" (COMPOSANT STANDARD CUSTOMISÃ‰)   */
/* ðŸ”µ ========================================================= */
/* --- 1. LE CONTENEUR GLOBAL (La Carte Blanche) --- */
.custom-ensavoir-plus {
  background-color: #ffffff !important;
  border-radius: 24px !important;
  padding: 32px !important; /* Marge interne pour aÃ©rer le contenu */
  /*box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;*/ /* Ombre douce */
  margin-left: 4rem !important;
  margin-right: 4rem !important;

  /* Alignement et largeur identiques Ã  ta pilule et ton header */
  max-width: 100vw !important;
  box-sizing: border-box !important;
  display: block !important;
}

/* --- 2. LE TITRE "En savoir plus" --- */

.custom-titre-savoir-plus h2 {
  font-family: "Poppins", sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 40px !important;
  color: #000000 !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important; /* Espace entre le titre et les onglets */
  text-align: left !important;
}

/* --- 3. BARRE D'ONGLETS (Style "Pilules" - SchÃ©ma 2) --- */

/* On s'assure que le parent ne force pas le 100% */

.custom-onglet .dxp-tabs-container {
  width: auto !important;
  display: block !important;
}

/* Le conteneur gris clair qui englobe tous les onglets */

.custom-onglet ul.slds-tabs_default__nav {
  background-color: #f4f6f9 !important; /* Fond gris clair global */
  border-radius: 50px !important;
  padding: 6px !important;
  border-bottom: none !important; /* Tue la ligne soulignÃ©e native */
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important; /* S'adapte au contenu global */
  gap: 4px !important;
  margin-bottom: 24px !important;
}

/* DÃ©sactive les pseudo-Ã©lÃ©ments de Salesforce (lignes fantÃ´mes) */

.custom-onglet ul.slds-tabs_default__nav::after,
.custom-onglet ul.slds-tabs_default__nav::before {
  display: none !important;
}

/* --- Stylisation gÃ©nÃ©rale d'un onglet (li) --- */

.custom-onglet .dxp-tab {
  border-radius: 50px !important;
  padding: 8px 20px !important;
  border: none !important;
  background-color: transparent !important;
  height: auto !important;

  /* ðŸš¨ LE SECRET POUR QUE L'ONGLET S'ADAPTE AU TEXTE ðŸš¨ */
  min-width: 0 !important;
  width: max-content !important;
  flex: 0 0 max-content !important; /* Ne grandit pas, ne rÃ©trÃ©cit pas, Ã©pouse le texte */
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  cursor: pointer !important;
}

/* Ã‰crasement forcÃ© des couleurs et de la coupure de texte (truncate) */

.custom-onglet .dxp-tab dxp_base-text-block,
.custom-onglet .dxp-tab p,
.custom-onglet .dxp-tab .slds-truncate {
  background-color: transparent !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  border: none !important;
  box-shadow: none !important;
  text-align: center !important;

  /* ðŸš¨ TUE DÃ‰FINITIVEMENT LES "..." ET LA LIMITE DE SALESFORCE ðŸš¨ */
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important; /* Reste sur une seule ligne */
  max-width: none !important; /* Annule la contrainte de largeur de Salesforce */
  display: inline-block !important;
}

/* ðŸ”µ ONGLET ACTIF (La Pilule Bleue) */

.custom-onglet .dxp-tab[data-active="true"] {
  /* ðŸš¨ NOUVEAU : On applique le dÃ©gradÃ© linÃ©aire extrait de Figma ðŸš¨ */
  background-image: linear-gradient(
    to bottom right,
    rgba(0, 205, 241, 1) 0%,
    rgba(0, 157, 223, 1) 100%
  ) !important;

  /* On s'assure que la couleur de fond unie est supprimÃ©e */
  background-color: transparent !important;
}

.custom-onglet .dxp-tab[data-active="true"] p {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* âšª ONGLETS INACTIFS (Transparents avec texte gris) */
.custom-onglet .dxp-tab[data-active="false"] {
  background-color: transparent !important;
  transition: background-color 0.2s ease !important;
}

.custom-onglet .dxp-tab[data-active="false"]:hover {
  background-color: #e2e8f0 !important; /* Effet de survol */
}

.custom-onglet .dxp-tab[data-active="false"] p {
  color: #4a4a4a !important; /* Gris foncÃ© */
  font-weight: 600 !important;
}

/* ========================================================= */
/* --- 4. SOUS-TITRES ET CONTENU (AJOUTS DEMANDÃ‰S)           */
/* ========================================================= */

.custom-sous-titre h3,
.custom-sous-titre .override-text-style,
.custom-sous-titre p {
  font-family: "Poppins", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 28px !important;
  letter-spacing: 0 !important;
  color: rgba(0, 0, 0, 1) !important;
}

.custom-contenu .field-value,
.custom-contenu p,
.custom-contenu li,
.custom-contenu span {
  font-family: "Poppins", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 28px !important;
  letter-spacing: 0 !important;
  color: rgba(0, 0, 0, 1) !important;
}

/* ðŸ“± ========================================================= */
/* ðŸ“± 5. RESPONSIVE MOBILE (Max 768px) - MENU DÃ‰ROULANT ONGLET  */
/* ðŸ“± ========================================================= */
@media (max-width: 1024px) {
  /* 1. Ajustement du conteneur (100% de sa propre colonne) */
  .custom-ensavoir-plus {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 24px 16px !important;
    box-sizing: border-box !important;
  }

  /* Destruction locale des espacements Salesforce pour que le contenu respire */
  .custom-ensavoir-plus .columns-content,
  .custom-ensavoir-plus .columns,
  .custom-ensavoir-plus dxp_layout-column,
  .custom-ensavoir-plus .column-content {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  .custom-ensavoir-plus dxp_layout-column-spacer {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 2. RÃ©duction du Gap au-dessus du menu (EncadrÃ© rouge HAUT) */
  .custom-titre-savoir-plus h2 {
    margin-bottom: 8px !important;
  }

  /* 3. FIX DU GRAND VIDE : On tue les hauteurs fantÃ´mes de Salesforce */
  .custom-onglet dxp_layout-tab-bar,
  .custom-onglet .dxp-tabs-container,
  .custom-onglet .slds-tabs_default {
    height: auto !important;
    min-height: 0 !important;
    --dxp-c-tab-container-height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  /* 4. Transformer le conteneur d'onglets en menu dÃ©roulant */
  .custom-onglet ul.slds-tabs_default__nav {
    background-color: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    height: auto !important;
    margin-bottom: 16px !important; /* RÃ©duction du Gap sous le menu (EncadrÃ© rouge BAS) */
  }

  /* Reset global des onglets pour mobile */
  .custom-onglet .dxp-tab {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
    padding: 12px 0 !important; /* Ligne alignÃ©e parfaitement sur les bords */
    justify-content: space-between !important;
    height: auto !important;
  }

  .custom-onglet .dxp-tab dxp_base-text-block,
  .custom-onglet .dxp-tab p,
  .custom-onglet .dxp-tab .slds-truncate {
    text-align: left !important;
    white-space: normal !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ðŸ”´ Ã‰TAT PAR DÃ‰FAUT (FermÃ©) : On cache tous les onglets inactifs */
  .custom-onglet
    ul.slds-tabs_default__nav:not(.mobile-menu-open)
    .dxp-tab[data-active="false"] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    overflow: hidden !important;
  }

  /* ðŸ”µ Ã‰TAT FERMÃ‰ : ONGLET ACTIF (Le dÃ©clencheur du menu) */
  .custom-onglet
    ul.slds-tabs_default__nav:not(.mobile-menu-open)
    .dxp-tab[data-active="true"] {
    background: transparent !important;
    background-image: none !important; /* Annule le dÃ©gradÃ© bleu quand c'est fermÃ© */
    border-bottom: 1px solid #009ddf !important; /* Ligne bleue infÃ©rieure pleine largeur */
  }

  /* Texte de l'onglet actif fermÃ© (Gris-Bleu) */
  .custom-onglet
    ul.slds-tabs_default__nav:not(.mobile-menu-open)
    .dxp-tab[data-active="true"]
    p {
    color: #7492a5 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
  }

  /* Ajout du chevron (FlÃ¨che vers le bas) */
  .custom-onglet .dxp-tab[data-active="true"]::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #009ddf;
    border-bottom: 2px solid #009ddf;
    transform: rotate(45deg) translateY(-4px);
    transition: transform 0.3s ease;
    margin-right: 4px;
  }

  /* ðŸŸ¢ Ã‰TAT OUVERT (Le menu se dÃ©roule) */
  .custom-onglet ul.slds-tabs_default__nav.mobile-menu-open {
    background-color: #ffffff !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
    border-radius: 12px !important;
    padding: 8px !important;
    position: absolute !important; /* Survole le contenu */
    top: 0;
    left: 0;
    z-index: 100 !important;
    border: 1px solid #eaeaea !important;
    width: 100% !important;
  }

  /* Style des Ã©lÃ©ments dans le menu ouvert */
  .custom-onglet ul.slds-tabs_default__nav.mobile-menu-open .dxp-tab {
    padding: 12px 16px !important; /* Padding interne pour faire joli */
    border-bottom: 1px solid #f4f6f9 !important;
  }

  /* Rotation de la flÃ¨che vers le haut quand le menu est ouvert */
  .custom-onglet
    ul.slds-tabs_default__nav.mobile-menu-open
    .dxp-tab[data-active="true"]::after {
    transform: rotate(225deg) translateY(0px);
    border-color: #ffffff !important; /* Le chevron passe en blanc */
  }

  /* ðŸš¨ L'ONGLET ACTIF DANS LE MENU OUVERT */
  .custom-onglet
    ul.slds-tabs_default__nav.mobile-menu-open
    .dxp-tab[data-active="true"] {
    background-image: linear-gradient(
      to bottom right,
      rgba(0, 205, 241, 1) 0%,
      rgba(0, 157, 223, 1) 100%
    ) !important;
    border-radius: 8px !important;
    border-bottom: none !important;
  }

  /* ðŸš¨ COULEUR DU TEXTE ACTIF (Blanc sur fond Bleu) */
  .custom-onglet
    ul.slds-tabs_default__nav.mobile-menu-open
    .dxp-tab[data-active="true"]
    p {
    color: #ffffff !important;
    font-weight: 700 !important;
  }

  /* Couleurs des textes INACTIFS dans le menu dÃ©roulant */
  .custom-onglet
    ul.slds-tabs_default__nav.mobile-menu-open
    .dxp-tab[data-active="false"]
    p {
    color: #000000 !important;
    font-weight: 500 !important;
  }
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ 17. AJUSTEMENTS DES MARGES (DESKTOP & TABLETTE)           */
/* ðŸ”µ ========================================================= */
/* ðŸ–¥ï¸ VERSION DESKTOP (1025px et plus) - CARTE OBJECTIFS PÃ‰DAGOGIQUES */
/* 1. STYLISATION DE LA CARTE (Bordure, Radius, Padding) */
.custom-card-produit .custom-expandable-produit {
  background-color: #ffffff !important;
  /* Remplacer #009ddf par votre variable de couleur si nÃ©cessaire */
  border: 1px solid #ffffff !important;
  border-radius: 24px !important;
  padding: 24px !important;
  display: block !important;
  box-shadow: none !important; /* Au cas oÃ¹ Salesforce ajoute une ombre par dÃ©faut */
}

/* 2. DÃ‰SACTIVER LE COMPORTEMENT ACCORDÃ‰ON */
.custom-card-produit .section-header {
  pointer-events: none !important;
  background-color: transparent !important;
  padding: 0 !important;
  border: none !important;
  cursor: default !important;
}

/* On cache le chevron (la petite flÃ¨che) */
.custom-card-produit .section-header lightning-icon {
  display: none !important;
}

/* 3. TYPOGRAPHIE DU TITRE (Figma : Poppins, Bold 700, 32px) */
.custom-card-produit .section-header h2 {
  font-family: "Poppins", sans-serif !important;
  font-weight: 700 !important;
  font-size: 32px !important;
  line-height: 40px !important;
  color: #000000 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* 4. TYPOGRAPHIE DU CONTENU (Figma : Poppins, Medium 500, 14px) */
.custom-card-produit .content .field-value,
.custom-card-produit .content .field-value p,
.custom-card-produit .content .field-value li {
  font-family: "Poppins", sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  line-height: 22px !important;
  color: #000000 !important;
}

/* 5. FIX SPÃ‰CIFIQUE POUR LA LISTE Ã€ PUCES */
.custom-card-produit .content .field-value ul {
  padding-left: 20px !important;
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  list-style-type: disc !important; /* Affiche les puces standards */
}

.custom-card-produit .content .field-value li {
  margin-bottom: 4px !important;
  display: list-item !important; /* SÃ©curitÃ© si Salesforce force un display block */
}

/* ðŸ“± VERSION MOBILE & TABLETTE (1024px et moins) - CARTES EXPANDABLE */
@media (max-width: 1024px) {
  /* 2. STYLISATION DE LA CARTE BLANCHE (Figma : Radius 24px, Padding 16px) - TON CODE INTACT */
  .custom-card-produit .custom-expandable-produit {
    background-color: #ffffff !important;
    border-radius: 24px !important;
    padding: 16px !important; /* Espace interne de la carte */

    /* ðŸ‘‡ Espace entre les cartes */
    margin-bottom: 12px !important;
    margin-top: 0 !important;

    display: block !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important; /* LÃ©gÃ¨re ombre optionnelle */
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 3. RÃ‰ACTIVATION DU CLIC ET DU HEADER (AccordÃ©on) - TON CODE INTACT */
  .custom-card-produit .section-header {
    pointer-events: auto !important; /* âœ… RÃ‰ACTIVE LE CLIC */
    cursor: pointer !important;
    background-color: transparent !important;
    padding: 0 !important;
    border: none !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* On s'assure que le chevron (flÃ¨che) est bien visible sur mobile - TON CODE INTACT */
  .custom-card-produit .section-header lightning-icon {
    display: block !important;
  }

  /* 4. TYPOGRAPHIE DU TITRE (Ex: "Objectifs pÃ©dagogiques") - TON CODE INTACT */
  .custom-card-produit .section-header h2,
  .custom-card-produit .section-header h3 {
    font-family: "Poppins", sans-serif !important;
    font-weight: 700 !important;
    font-size: 24px !important; /* Typo respectÃ©e ! */
    color: #000000 !important;
    margin: 0 !important;
    text-align: left !important;
    flex: 1 !important; /* Laisse la place Ã  la flÃ¨che */
  }

  /* 5. GESTION DU CONTENU (Texte dÃ©roulant) - TON CODE INTACT */
  .custom-card-produit .content {
    /* ðŸš¨ TRÃˆS IMPORTANT : On ne force PAS de display: block ici. 
           On laisse le script natif de Salesforce gÃ©rer l'ouverture/fermeture */
    padding: 12px 0 0 0 !important; /* Espace entre le titre et le texte quand c'est ouvert */
  }

  /* 6. TYPOGRAPHIE DU CONTENU INTERNE (Figma : Poppins, 14px, Medium 500) - TON CODE INTACT */
  .custom-card-produit .content .field-value,
  .custom-card-produit .content .field-value p,
  .custom-card-produit .content .field-value li {
    font-family: "Poppins", sans-serif !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 22px !important;
    color: #000000 !important;
  }

  /* Ajustement des listes Ã  puces pour mobile - TON CODE INTACT */
  .custom-card-produit .content .field-value ul {
    padding-left: 20px !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
    list-style-type: disc !important;
  }

  .custom-card-produit .content .field-value li {
    margin-bottom: 4px !important;
    display: list-item !important;
  }
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ AJUSTEMENTS DES MARGES (DESKTOP & TABLETTE)               */
/* ðŸ”µ ========================================================= */

/* ðŸ–¥ï¸ DESKTOP (1025px et plus) */
@media (min-width: 1025px) {
  .custom-column-hero {
    margin-top: 6rem !important;
  }
}

/* ðŸ”µ ========================================= */
/* ðŸ”µ 12. BANNIÃˆRE HERO CUSTOM (FORMATION)      */
/* ðŸ”µ ========================================= */

.custom-banner {
  position: relative !important;
  min-height: auto !important;
  height: auto !important;

  /* âœ… 1. LE FOND GLOBAL : Il remplit les coins avec la couleur de ton thÃ¨me */
  background: rgb(241, 246, 250) !important;
  border-radius: 0 !important; /* On retire l'arrondi du parent pour qu'il soit bien carrÃ© */

  padding: 60px 132px !important;
  z-index: 1 !important; /* TrÃ¨s important pour la superposition des calques */

  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* âœ… 2. LE DÃ‰GRADÃ‰ : On le dÃ©place dans un calque avec tes arrondis */
.custom-banner::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;

  /* Ton dÃ©gradÃ© et ton radius sont conservÃ©s ici ! */
  background: linear-gradient(90deg, #01415e 0%, #009ddf 100%) !important;
  border-radius: 0 0 40px 40px !important;

  z-index: -1 !important; /* Le place au fond, juste au-dessus de la couleur de thÃ¨me */
}

/* 2. On supprime l'overlay noir natif de Salesforce */
.custom-banner .background-image-overlay {
  display: none !important;
}

/* 3. Calque de l'image (AlimentÃ© par le Builder Salesforce) */
.custom-banner .background-image {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;

  /* âœ… 3. L'IMAGE : Doit aussi avoir les arrondis pour ne pas cacher les coins gris */
  border-radius: 0 0 40px 40px !important;
  overflow: hidden !important;

  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;

  /* On maintient notre effet de fusion lumineux Figma */
  mix-blend-mode: soft-light !important;
  opacity: 0.8 !important;
  background-color: transparent !important;
}

/* 4. Contenu au premier plan */
.custom-banner .columns-content {
  position: relative !important;
  z-index: 5 !important;
  height: auto !important;
  width: 100% !important;
}

/* ðŸ“± Ajustement Mobile */
@media (max-width: 767px) {
  .custom-banner {
    padding: 40px 20px !important;
  }

  /* L'arrondi change sur mobile, donc on l'applique au pseudo-Ã©lÃ©ment et Ã  l'image */
  .custom-banner::before,
  .custom-banner .background-image {
    border-radius: 0 0 20px 20px !important;
  }
}

/* 5. FORCER TOUT LE TEXTE EN BLANC DANS LA BANNIÃˆRE */
.custom-banner,
.custom-banner h1,
.custom-banner h2,
.custom-banner h3,
.custom-banner p,
.custom-banner span,
.custom-banner a,
.custom-banner div,
.custom-banner lightning-formatted-text,
.custom-banner lightning-formatted-rich-text,
.custom-banner .slds-text-heading_large,
.custom-banner .slds-text-heading_medium {
  color: #ffffff !important;
}

/* S'il y a des liens, on s'assure qu'ils n'ont pas la couleur bleue par dÃ©faut de Salesforce */
.custom-banner a:hover {
  color: #f2f2f2 !important; /* Un blanc lÃ©gÃ¨rement grisÃ© au survol (optionnel) */
}

/* ðŸ”µ ========================================= */
/* ðŸ”µ 13 . FIX : LOGOS PARTENAIRE (DESKTOP & MOBILE) */
/* ðŸ”µ ========================================= */

/* --- A. BASE COMMUNE ET ALIGNEMENT Ã€ DROITE --- */
.custom-banner .custom-logo-partner-header-desktop,
.custom-banner .custom-logo-partner-header-mobile {
  /* On utilise Flexbox pour pousser le conteneur blanc tout Ã  droite de sa colonne */
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Le conteneur blanc (Design Figma) */
.custom-banner .custom-logo-partner-header-desktop .partner-container,
.custom-banner .custom-logo-partner-header-desktop .slds-m-around_medium,
.custom-banner .custom-logo-partner-header-mobile .partner-container,
.custom-banner .custom-logo-partner-header-mobile .slds-m-around_medium {
  margin: 0 !important;

  /* ParamÃ¨tres communs exigÃ©s */
  padding: 10px !important;
  gap: 10px !important;
  border-radius: 32px !important;
  background-color: #ffffff !important;

  /* Centrage interne de l'image */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  /* Ombre lÃ©gÃ¨re optionnelle */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

/* L'image Ã  l'intÃ©rieur s'adapte automatiquement grÃ¢ce au padding de 10px du parent */
.custom-banner .custom-logo-partner-header-desktop .partner-logo,
.custom-banner .custom-logo-partner-header-mobile .partner-logo {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* Garde les proportions sans dÃ©former */
  margin: 0 !important;
}

/* --- B. ðŸ–¥ï¸ GESTION DESKTOP (1025px et plus) --- */
@media (min-width: 1025px) {
  /* On masque la version mobile */
  .custom-banner .custom-logo-partner-header-mobile {
    display: none !important;
  }

  /* Dimensions spÃ©cifiques Desktop */
  .custom-banner .custom-logo-partner-header-desktop .partner-container,
  .custom-banner .custom-logo-partner-header-desktop .slds-m-around_medium {
    width: 120px !important;
    height: 80px !important;
  }
}

/* --- C. ðŸ“± GESTION TABLETTE & MOBILE (1024px et moins) --- */
@media (max-width: 1024px) {
  /* On masque la version desktop */
  .custom-banner .custom-logo-partner-header-desktop {
    display: none !important;
  }

  /* Dimensions et Radius spÃ©cifiques Tablette/Mobile */
  .custom-banner .custom-logo-partner-header-mobile .partner-container,
  .custom-banner .custom-logo-partner-header-mobile .slds-m-around_medium {
    width: 80px !important;
    height: 60px !important;
    border-radius: 24px !important; /* ðŸ‘ˆ LE FIX EST ICI */
  }
}

/* ðŸ“± FIX TABLETTE COMPLET & NETTOYÃ‰ (768px Ã  1024px) */
/* Ce code supprime le grand gap vertical et aligne le contenu sur la navbar */
@media (max-width: 1024px) {
  /* 1. NETTOYAGE STRICT DU PARENT (BanniÃ¨re) */
  /* On rÃ©duit drastiquement les paddings verticaux de la banniÃ¨re parent 
       pour remonter tout le contenu vers le haut. */
  .custom-banner {
    width: 100% !important;
    max-width: 100% !important;
    /* On rÃ©duit la marge du haut pour coller le contenu prÃ¨s de la navbar 
           et on garde juste un petit espace en bas. Ajuste le '20px' si besoin */
    padding: 7rem 0 4rem 0 !important;
    margin: 0 !important;
    display: block !important;
  }

  /* Nettoyage des autres sous-conteneurs de la banniÃ¨re */
  .custom-banner > .columns-content,
  .custom-banner community_layout-column,
  .custom-banner .column-content,
  .custom-banner webruntimedesign-region-wrapper,
  .custom-banner .interactions-region {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 2. LE COMPOSANT HERO (Le bloc bleu de sÃ©lection) */
  .custom-column-hero {
    margin-left: 16px !important; /* Marge gauche alignÃ©e sur la navbar pill */
    margin-right: 16px !important; /* Marge droite alignÃ©e sur la navbar pill */
    width: auto !important; /* Calcule automatiquement la largeur MOINS les marges */
    display: block !important;
    /* ON SUPPRIME LE GAP : On met les marges/paddings verticaux Ã  ZÃ‰RO */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* 3. ALIGNEMENT INTERNE (On s'assure qu'aucun bloc interne ne repousse le contenu) */
  .custom-column-hero .columns,
  .custom-column-hero dxp_layout-column,
  .custom-column-hero .column-content,
  .custom-column-hero .columns-content {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 4. FIX COLONNE 3 (CODE #AR + LOGO) */
  /* On force la ligne pour supprimer le grand vide vertical Ã  cet endroit */
  .custom-col-code-logo .columns,
  .custom-col-code-logo .columns-content {
    display: flex !important;
    flex-direction: row !important; /* Aligne Code et Logo horizontalement */
    justify-content: space-between !important; /* Code Ã  gauche, Logo Ã  droite */
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    margin-top: 0.5rem !important; /* Espace vertical rÃ©duit entre le titre et le code */
    margin-bottom: 0.5rem !important;
  }

  .custom-col-code-logo dxp_layout-column {
    width: auto !important;
    flex: 0 1 auto !important;
  }

  /* 5. ALIGNEMENT DU LOGO PARTENAIRE */
  .custom-logo-partner-header-mobile {
    display: flex !important;
    justify-content: flex-end !important;
  }

  /* 6. ALIGNEMENT DES Ã‰LÃ‰MENTS DE TEXTE */
  .custom-fil-ariane,
  .custom-product-title,
  .container-flex,
  .custom-category-titre,
  .custom-category-text {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  /* 7. AJUSTEMENT DU TITRE (Taille et espace rÃ©duit) */
  .custom-product-title h1 {
    font-size: 32px !important; /* Taille un peu plus petite pour tablette pour mieux entrer */
    line-height: 1.1 !important;
    margin: 0.5rem 0 !important; /* Espace vertical rÃ©duit autour du titre */
    padding: 0 !important;
  }

  /* 8. FIX SPÃ‰CIFIQUE DU FIL D'ARIANE (On ajoute les marges et le display block) */
  .custom-category-fil {
    display: block !important; /* âœ… INDISPENSABLE POUR QUE LES MARGES FONCTIONNENT */
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .custom-category-fil commerce-breadcrumbs {
    display: block !important; /* âœ… SÃ‰CURITÃ‰ : Force le composant interne */
    margin: 0 !important;
  }

  .custom-fil-ariane nav {
    display: block !important; /* âœ… INDISPENSABLE POUR QUE LES MARGES FONCTIONNENT */
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
    width: 100% !important;
    padding: 0 !important;
  }

  /* 9. SUPPRESSION DES HAUTEURS FANTÃ”MES */
  [data-region-name="column"] {
    min-height: auto !important;
  }
}

/* ðŸ”µ Ajustement Desktop pour garantir la largeur */
@media (min-width: 1025px) {
  .custom-column-hero {
    max-width: 100% !important;
  }
}

/* ðŸ“± FIX ALIGNEMENT CODE + LOGO (MOBILE & TABLETTE) */
@media (max-width: 1024px) {
  /* 1. On force le conteneur Ã  rester en ligne au lieu de s'empiler */
  .custom-col-code-logo .columns {
    display: flex !important;
    flex-direction: row !important; /* Emplacement cÃ´te Ã  cÃ´te */
    flex-wrap: nowrap !important; /* EmpÃªche le saut de ligne */
    justify-content: space-between !important;
    align-items: center !important; /* Aligne verticalement le #AR et le logo */
    width: 100% !important;
  }

  /* 2. On ajuste les deux colonnes internes pour qu'elles se partagent la largeur */
  .custom-col-code-logo dxp_layout-column {
    display: flex !important;
    width: auto !important; /* Largeur automatique selon le contenu */
    max-width: none !important;
    flex: 0 1 auto !important;
  }

  /* 3. On assure que le code produit (#AR) reste Ã  gauche */
  .custom-col-code-logo dxp_layout-column:nth-of-type(1) {
    justify-content: flex-start !important;
  }

  /* 4. On assure que le logo reste bien Ã  droite */
  .custom-col-code-logo dxp_layout-column:nth-of-type(2) {
    justify-content: flex-end !important;
    margin-left: auto !important; /* Pousse le logo vers la droite */
  }

  /* 5. Ajustement spÃ©cifique du texte du code pour Ã©viter les retours Ã  la ligne */
  .custom-product-code {
    white-space: nowrap !important;
    font-size: 16px !important; /* Ajustez selon votre Figma */
    font-weight: 700 !important;
  }
}

/* ðŸ”µ ======================================================= */
/* ðŸ”µ FIX : ALIGNEMENT BANNIÃˆRE SUR TRÃˆS GRANDS Ã‰CRANS (> 1920px) */
/* ðŸ”µ ======================================================= */
@media (min-width: 1921px) {
  /* 1. On surcharge la variable native Salesforce qui bride le layout */
  .custom-banner {
    --dxp-g-root-max-width: 100% !important;
  }

  /* 2. On cible TOUTES les couches gÃ©nÃ©rÃ©es par Salesforce entre 
        la banniÃ¨re et le texte pour dÃ©truire le centrage automatique */
  .custom-banner > .columns-content,
  .custom-banner > .columns-content > .columns,
  .custom-banner .custom-column-hero,
  .custom-banner .custom-column-hero > .columns-content,
  .custom-banner .custom-column-hero > .columns-content > .columns,
  .custom-banner .custom-column-hero dxp_layout-column,
  .custom-banner webruntimedesign-region-wrapper,
  .custom-banner .interactions-region {
    max-width: 100% !important;
    width: 100% !important;
    /* On annule le margin: 0 auto qui crÃ©e ce vide au centre */
    margin-left: 0 !important;
    margin-right: 0 !important;
    /* On s'assure qu'aucun padding interne ne repousse le texte */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ðŸ”µ ========================================= */
/* ðŸ”µ 14. CATEGORY HERO CUSTOM (FORMATION)      */
/* ðŸ”µ ========================================= */
/* ðŸ”µ TITRE CATEGORY HERO - DESKTOP */
.custom-category-titre h1 {
  font-size: 56px !important;
  line-height: 64px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  /* On s'assure que la police Poppins est appliquÃ©e si chargÃ©e */
  font-family: "Poppins", sans-serif !important;
}

/* ðŸ“± TITRE CATEGORY HERO - MOBILE (BasÃ© sur vos captures Figma) */
@media (max-width: 1024px) {
  .custom-category-titre h1 {
    font-size: 40px !important;
    line-height: 48px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }

  /* Optionnel : Ajuster la marge pour coller au design Figma */
  .custom-category-titre {
    margin-bottom: 24px !important;
  }
}

/* ðŸ”µ ========================================= */
/* ðŸ”µ 15. CATEGORY HERO CUSTOM (FORMATION)      */
/* ðŸ”µ ========================================= */
/* ðŸ”µ PRODUCT CODE */
.custom-product-code {
  display: inline-flex !important; /* Force l'alignement horizontal */
  align-items: center !important;
  white-space: nowrap !important; /* EmpÃªche le retour Ã  la ligne */
  font-weight: bold !important;
}

.custom-product-code::before {
  content: "#";
  display: inline-block !important;
  margin-right: 2px !important; /* Petit espace entre le # et le texte */
}

/* Si Salesforce injecte des balises internes (div, p) qui cassent la ligne */
.custom-product-code * {
  display: inline !important;
}

/* ðŸ”µ TITRE PRODUIT - DESKTOP */
.custom-product-title .product-title,
.custom-product-title h1 {
  font-size: 56px !important;
  line-height: 64px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  font-family: "Poppins", sans-serif !important;
  margin: 0 !important; /* Nettoyage des marges par dÃ©faut */
  display: block !important;
}

/* ðŸ“± TITRE PRODUIT - MOBILE (767px et moins) */
@media (max-width: 767px) {
  .custom-product-title .product-title,
  .custom-product-title h1 {
    font-size: 40px !important;
    line-height: 48px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }
}

/* ðŸ“± AJUSTEMENT TABLETTE (768px Ã  1024px) */
/* Pour Ã©viter que le titre ne se compresse au centre comme vu prÃ©cÃ©demment */
@media (min-width: 768px) and (max-width: 1024px) {
  .custom-product-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .custom-product-title .product-title,
  .custom-product-title h1 {
    font-size: 40px !important; /* Taille intermÃ©diaire ou mobile selon ton Figma */
    line-height: 48px !important;
    width: 100% !important;
  }
}

/* ðŸ”µ ========================================================= */
/* ðŸ”µ 16. FIL D'ARIANE - SÃ‰PARATION STRICTE                      */
/* ðŸ”µ ========================================================= */

/* --- A. PAGE PRODUIT UNIQUEMENT (Composant Custom) --- */
/* On verrouille TOUT sur la classe .custom-fil-ariane */

.custom-fil-ariane a,
.custom-fil-ariane .slds-breadcrumb__path {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important;
  color: #ffffff !important;
  text-decoration: underline !important;
  font-weight: 400 !important;
}

/* Page actuelle Produit */
.custom-fil-ariane .slds-breadcrumb__item:last-child a,
.custom-fil-ariane .current-page-link {
  font-weight: 700 !important;
  text-decoration: none !important;
  color: #ffffff !important;
}

/* Chevron UNIQUEMENT pour le produit */
.custom-fil-ariane .slds-breadcrumb__item + .slds-breadcrumb__item::before {
  color: #ffffff !important;
  content: ">" !important; /* On ne l'applique qu'ici */
  text-decoration: none !important;
}

/* --- B. SPÃ‰CIFIQUE PAGE CATEGORY (Standard Component) --- */
.custom-category-fil {
  --com-c-breadcrumb-link-color: #ffffff !important;
  --com-c-breadcrumb-text-color: #ffffff !important;
  --com-c-breadcrumb-divider-color: #ffffff !important;
}

/* 1. LE SECRET EST ICI : Flexbox sur le parent (li) */
.custom-category-fil .breadcrumb-list li {
  display: inline-flex !important;
  align-items: center !important; /* Force le centrage vertical absolu entre le texte et le chevron */
}

/* 2. TES PROPRIÃ‰TÃ‰S RESTAURÃ‰ES POUR LE TEXTE */
.custom-category-fil a,
.custom-category-fil span {
  font-family: "Poppins", sans-serif !important;
  font-size: 16px !important; /* TA VALEUR */
  color: #ffffff !important; /* TA VALEUR */
  text-decoration: underline !important;
  line-height: 1 !important; /* Ã‰vite les marges invisibles haut/bas */
}

/* 3. FIX DU CHEVRON (Le <p> fantÃ´me) */
.custom-category-fil .breadcrumb-list li p[aria-hidden="true"] {
  display: flex !important;
  align-items: center !important;
  margin: 0 8px !important; /* Juste l'espacement gauche/droite */
  padding: 0 !important;
  font-size: 16px !important; /* AlignÃ© sur ton texte */
  color: #ffffff !important;
  line-height: 1 !important;
}

/* 4. LAST CHILD : Bold, Blanc, Pas d'underline */
.custom-category-fil .breadcrumb-list li:last-child a,
.custom-category-fil .breadcrumb-list li:last-child span {
  font-weight: 700 !important;
  text-decoration: none !important;
  color: #ffffff !important;
  font-size: 16px !important;
}

@media (max-width: 767px) {
  .custom-fil-ariane a,
  .custom-fil-ariane .slds-breadcrumb__path,
  .custom-category-fil a,
  .custom-category-fil span {
    font-size: 12px !important;
  }

  .custom-fil-ariane .slds-breadcrumb__item:last-child a,
  .custom-fil-ariane .current-page-link,
  .custom-category-fil .breadcrumb-list li p[aria-hidden="true"],
  .custom-category-fil .breadcrumb-list li:last-child a,
  .custom-category-fil .breadcrumb-list li:last-child span {
    font-size: 12px !important;
  }
}

/* On cible la classe brand directement */
.slds-button.slds-button_brand {
  /* 1. Reset des variables Salesforce pour le bouton */
  --slds-c-button-color-background: transparent;
  --slds-c-button-color-border: transparent;
  --slds-c-button-text-color: #ffffff;
  --sds-c-button-brand-color-background: transparent;
  --sds-c-button-brand-color-border: transparent;

  /* 2. Application du dÃ©gradÃ© onepoint */
  background-image: linear-gradient(90deg, #009ddf 0%, #00cdf1 100%) !important;
  background-color: transparent !important; /* Pour Ã©viter les flashs de bleu slds */

  /* 3. Style visuel demandÃ© */
  border: none !important;
  border-radius: 32px !important;
  min-height: 56px !important;
  padding: 16px 24px !important;
  font-weight: 700 !important;
  box-shadow: 0 2px 8px rgba(0, 157, 223, 0.35) !important;
  transition: all 0.2s ease !important;
}

/* 4. Gestion de l'Ã©tat au survol (Hover) */
.slds-button.slds-button_brand:hover {
  filter: brightness(1.08) !important;
  background-image: linear-gradient(90deg, #009ddf 0%, #00cdf1 100%) !important;
  box-shadow: 0 4px 12px rgba(0, 157, 223, 0.5) !important;
}
.slds-button_op-outline-brand {
  /* 1. Reset des variables Salesforce */
  --slds-c-button-color-background: transparent;
  --slds-c-button-text-color: #01415e;
  --slds-c-button-color-border: #01415e;
  --sds-c-button-outline-brand-color-text: #01415e;
  --sds-c-button-outline-brand-color-border: #01415e;

  /* 2. Fond transparent et bordure */
  background: transparent !important;
  border: 1.5px solid #01415e !important;
  color: #01415e !important;

  /* 3. Dimensions identiques au bouton Brand (PrÃ©cÃ©dent) */
  border-radius: 32px !important;
  min-height: 56px !important;
  padding: 16px 24px !important;
  font-weight: 700 !important;
  font-size: clamp(0.875rem, 2vw, 1rem) !important;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease !important;
}

/* --- Ã‰TATS --- */

/* Survol (Hover) */
.slds-button_op-outline-brand:hover {
  background-color: rgba(
    1,
    65,
    94,
    0.05
  ) !important; /* LÃ©ger voile bleu foncÃ© */
  border-color: #009ddf !important; /* Change vers le bleu onepoint au survol */
  color: #009ddf !important;
}

/* DÃ©sactivÃ© */
.slds-button_op-outline-brand:disabled {
  opacity: 0.5 !important;
  cursor: not-allowed !important;
}
.bg-deep-ocean {
  background-color: #011c28;
  color: #ffffff; /* Texte blanc pour un bon contraste */
}

/* L'arriÃ¨re-plan qui couvre tout l'Ã©cran */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Noir semi-transparent */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000; /* S'assure qu'elle est au-dessus de tout */
}

/* La boÃ®te blanche au centre */
.modal-content {
  background: white;
  padding: 2rem;
  border-radius: 8px;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  position: relative;
}

/* --- LE PARENT --- */
.phase-container {
  display: block;
  position: relative;
  width: 100%;
  padding-bottom: 20px;
  overflow: hidden;
  box-sizing: border-box;
}

/* --- 1. DESIGN DESKTOP (Grands Ã©crans : Nombre -> Ligne -> Texte) --- */

/* Le bloc sÃ©parateur */
.phase-container .separateur-container {
  position: absolute;
  /* Position fixe sur grand Ã©cran pour ne jamais superposer */
  left: 95px;
  top: 0;
  width: 15px;
  height: 100%;
  z-index: 100;
  text-align: center;
  transition: left 0.3s ease; /* Animation fluide lors du redimensionnement */
}

/* Le point bleu */
.phase-container .dot {
  width: 12px;
  height: 12px;
  background-color: #009ee2;
  border-radius: 50%;
  margin: 15px auto 5px auto;
  display: block;
}

/* La ligne blanche */
.phase-container .line {
  width: 1.5px;
  background-color: #ffffff;
  height: calc(100% - 32px);
  margin: 0 auto;
  display: block;
}

/* Le wrapper qui contient le numÃ©ro et le texte */
.phase-container .content-wrapper {
  display: flex;
  align-items: flex-start;
  padding-left: 0;
  width: 100%;
  box-sizing: border-box;
  transition: padding-left 0.3s ease;
}

/* Le gros numÃ©ro */
.phase-container .number {
  flex-shrink: 0;
  /* Largeur fixe, laisse la place exacte Ã  la ligne qui est Ã  95px */
  width: 85px;
  color: #009ee2;
  font-family: "Poppins", sans-serif;
  font-size: 65px;
  font-weight: 900;
  line-height: 0.8;
  letter-spacing: -3px;
  margin-top: 10px;
  margin-bottom: 20px;
}

/* Le bloc de texte (Titre + P) */
.phase-container .text-box {
  flex: 1;
  /* Laisse l'espace pour la ligne entre le nombre et le texte */
  padding-left: 40px;
  padding-top: 4px;
  box-sizing: border-box;
}

/* Styles des textes */
.phase-container h2 {
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: clamp(22px, 3vw, 36px);
  font-weight: 700;
  margin: 0;
  line-height: 1.1;
}

.phase-container p {
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  margin-top: 15px;
}

/* --- 2. ADAPTATION Ã‰CRANS MOYENS/PETITS (Ligne -> Nombre -> Texte) --- */

/* DÃ©clenchement Ã  1300px pour Ã©viter la superposition vue sur ta capture */
@media screen and (max-width: 1850px) {
  .phase-container .separateur-container {
    left: 5px; /* On ramÃ¨ne la ligne tout Ã  gauche, avant le nombre ! */
  }

  .phase-container .content-wrapper {
    padding-left: 35px; /* On dÃ©cale tout le contenu (nombre + texte) aprÃ¨s la ligne */
  }

  .phase-container .number {
    width: auto; /* Le nombre s'adapte Ã  son contenu */
    margin-right: 20px; /* On crÃ©e un espace classique entre le nombre et le texte */
    font-size: clamp(
      45px,
      6vw,
      65px
    ); /* On le rÃ©duit lÃ©gÃ¨rement si besoin */
  }

  .phase-container .text-box {
    padding-left: 0; /* Plus besoin du padding gauche, le margin-right du nombre suffit */
  }
}

@media screen and (max-width: 1024px) {
  /* On ramÃ¨ne la ligne tout Ã  gauche */
  .phase-container .separateur-container {
    left: 10px;
  }

  /* Le secret est ici : flex-direction column empile le numÃ©ro sur le texte */
  .phase-container .content-wrapper {
    padding-left: 40px; /* On dÃ©cale tout le contenu pour laisser la place Ã  la ligne */
    flex-direction: column; /* ðŸš¨ EMPILEMENT AUTOMATIQUE ðŸš¨ */
  }

  /* On ajuste le numÃ©ro pour qu'il ressemble au design mobile */
  .phase-container .number {
    width: auto;
    margin-right: 0;
    margin-bottom: 5px; /* Petit espace sous le numÃ©ro avant le titre */
    font-size: 40px; /* On le rend un peu plus petit sur mobile */
    letter-spacing: -1px;
    line-height: 1;
  }

  /* On retire le padding gauche du texte puisqu'il est en dessous du nombre maintenant */
  .phase-container .text-box {
    padding-left: 0;
    padding-top: 0;
  }

  .phase-container h2 {
    font-size: 22px; /* Taille adaptÃ©e au mobile */
    margin-bottom: 8px;
  }

  .phase-container p {
    margin-top: 0;
    font-size: 14px;
  }
}

/* 1. STRUCTURE DE BASE (DESKTOP PAR DÃ‰FAUT) */
.modal {
  /* Largeur fixe sur Desktop */
  width: 990px !important;
  max-width: none !important; /* Force l'absence de limite sur grand Ã©cran */

  /* Hauteur flexible pour Ã©viter les coupures de texte */
  height: auto !important;
  max-height: none !important;
  min-height: 200px !important;

  margin: 0 auto !important;

  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  font-family: "Poppins", sans-serif !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

.modal .modal-body {
  border-radius: 24px !important;
  padding: 12px !important;
  border: 1px solid #e0e0e0 !important;
}

/* 2. ADAPTATION MOBILE (Ã‰CRANS DE MOINS DE 768px) */
@media only screen and (max-width: 767px) {
  .modal {
    width: 100% !important;
    max-width: 350px !important; /* Votre demande mobile */
    padding: 16px !important; /* RÃ©duction lÃ©gÃ¨re du padding sur mobile */
    border-radius: 16px !important;
  }

  .modal .footer {
    flex-direction: column-reverse !important; /* Empile les boutons sur mobile */
    gap: 15px !important;
    align-items: center !important;
  }

  .modal .footer .reject {
    margin: 0 !important; /* Reset du margin-left: auto sur mobile */
  }
}

/* 3. ZONE DE CONTENU */
.modal .content {
  text-align: left !important;
  color: #000000 !important;
  padding: 0.5rem !important;
  flex-grow: 1 !important;
  overflow: visible !important; /* Puisqu'on n'a plus de hauteur fixe, on laisse le texte respirer */
}

/* 4. FOOTER (LIGNE BLEUE ET BOUTONS) */
.modal .footer {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  background: transparent !important;
  border-top: 1.5px solid #00a1e0 !important;
  margin-top: 5px !important;
  padding-top: 10px !important;
  gap: 15px !important;
}

/* 5. BOUTON TOUT ACCEPTER (CYAN) */
.modal .footer .accept button {
  color: #ffffff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 17px 49px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

/* 6. BOUTON REFUSER (LIEN Ã‰PURÃ‰) */
.modal .footer .reject button {
  background: transparent !important;
  border: none !important;
  color: #00a1e0 !important;
  text-decoration: underline !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.modal .footer .reject button:hover {
  box-shadow: none !important;
  background: transparent !important;
}

@media only screen and (min-width: 64.0625em) {
  .dxp-block-image-host {
    margin-right: 2rem;
  }
}

@media (min-width: 1024px) {
  c-lwc01-product-variation-session {
    display: block;
    position: relative;
    margin-top: -6rem; /* ajuster : -16px Ã  -40px selon le rendu */
    z-index: 2; /* pour passer au-dessus du bandeau */
  }
}

c-lwc07_-contact-et-inscriptions {
  display: block;
  position: relative;
  z-index: 2;
  margin-top: -20rem; /* Ã  ajuster : 2rem, 3rem, 48pxâ€¦ */
}

.expanded-section-title h3 {
  font-size: 1.2rem !important; /* Adjust this to your preferred size */
  line-height: 1.2 !important;
  margin: 0 !important;
}
