.elementor-5840 .elementor-element.elementor-element-316a122{--display:flex;--min-height:198px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--padding-top:24px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-5840 .elementor-element.elementor-element-316a122:not(.elementor-motion-effects-element-type-background), .elementor-5840 .elementor-element.elementor-element-316a122 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-119d057 );}.elementor-5840 .elementor-element.elementor-element-316a122 > .elementor-shape-bottom .elementor-shape-fill, .elementor-5840 .elementor-element.elementor-element-316a122 > .e-con-inner > .elementor-shape-bottom .elementor-shape-fill{fill:var( --e-global-color-faff72f );}.elementor-5840 .elementor-element.elementor-element-316a122 > .elementor-shape-bottom svg, .elementor-5840 .elementor-element.elementor-element-316a122 > .e-con-inner > .elementor-shape-bottom svg{width:calc(138% + 1.3px);height:53px;transform:translateX(-50%) rotateY(180deg);}.elementor-5840 .elementor-element.elementor-element-fcb2f1a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5840 .elementor-element.elementor-element-fcb2f1a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5840 .elementor-element.elementor-element-c480ec1{--display:flex;--gap:7px 7px;--row-gap:7px;--column-gap:7px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Arial, Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-5840 .elementor-element.elementor-element-7c064c3 .elementor-heading-title{font-family:"Varela Round", Arial, Sans-serif;font-size:36px;font-weight:700;color:var( --e-global-color-secondary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Arial, Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-5840 .elementor-element.elementor-element-3285123.elementor-element{--order:-99999 /* order start hack */;}.elementor-5840 .elementor-element.elementor-element-3285123{font-family:"Open Sans", Arial, Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.7px;color:var( --e-global-color-primary );}.elementor-5840 .elementor-element.elementor-element-3285123 a{color:var( --e-global-color-119d057 );}.elementor-5840 .elementor-element.elementor-element-344a241{--display:flex;--min-height:80px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--border-radius:50% 50% 50% 50%;box-shadow:0px 10px 40px 0px rgba(6.000000000000002, 121.00000000000004, 210, 0.25);--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5840 .elementor-element.elementor-element-344a241:not(.elementor-motion-effects-element-type-background), .elementor-5840 .elementor-element.elementor-element-344a241 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-119d057 );}.elementor-5840 .elementor-element.elementor-element-344a241.e-con{--order:-99999 /* order start hack */;--flex-grow:1;--flex-shrink:0;}.elementor-5840 .elementor-element.elementor-element-1e7a8e6{--display:flex;--min-height:84px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5840 .elementor-element.elementor-element-0d91e00 .elementor-heading-title{font-family:"Varela Round", Arial, Sans-serif;font-size:24px;font-weight:700;color:var( --e-global-color-secondary );}.elementor-5840 .elementor-element.elementor-element-2131cc9{font-family:"Open Sans", Arial, Sans-serif;font-weight:400;color:var( --e-global-color-e2f76ba );}.elementor-5840 .elementor-element.elementor-element-2131cc9 p{margin-block-end:0px;}.elementor-5840 .elementor-element.elementor-element-0f4bfed{font-family:"Open Sans", Arial, Sans-serif;font-size:16px;font-weight:400;color:var( --e-global-color-e2f76ba );}.elementor-5840 .elementor-element.elementor-element-0f4bfed p{margin-block-end:0px;}.elementor-5840 .elementor-element.elementor-element-0b211f2{--display:flex;--padding-top:80px;--padding-bottom:80px;--padding-left:24px;--padding-right:24px;}.elementor-5840 .elementor-element.elementor-element-0b211f2:not(.elementor-motion-effects-element-type-background), .elementor-5840 .elementor-element.elementor-element-0b211f2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-faff72f );}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Arial, Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Arial, Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Arial, Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-5840 .elementor-element.elementor-element-b87e948{--grid-columns:4;}.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-5840 .elementor-element.elementor-element-b87e948 .e-loop-item > .elementor-section, .elementor-5840 .elementor-element.elementor-element-b87e948 .e-loop-item > .elementor-section > .elementor-container, .elementor-5840 .elementor-element.elementor-element-b87e948 .e-loop-item > .e-con, .elementor-5840 .elementor-element.elementor-element-b87e948 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination{text-align:center;margin-top:24px;}body:not(.rtl) .elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}.elementor-5840 .elementor-element.elementor-element-9c4cc79{--display:flex;--padding-top:56px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-5840 .elementor-element.elementor-element-9c4cc79:not(.elementor-motion-effects-element-type-background), .elementor-5840 .elementor-element.elementor-element-9c4cc79 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0679D20D;}.elementor-5840 .elementor-element.elementor-element-94ce3c7{text-align:center;font-family:"Open Sans", Arial, Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.7px;color:var( --e-global-color-primary );}.elementor-5840 .elementor-element.elementor-element-94ce3c7 a{color:var( --e-global-color-119d057 );}.elementor-5840 .elementor-element.elementor-element-2e32ddf{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-5840 .elementor-element.elementor-element-fcb2f1a{--width:60%;}.elementor-5840 .elementor-element.elementor-element-344a241{--width:80px;}.elementor-5840 .elementor-element.elementor-element-1e7a8e6{--width:40%;}}@media(max-width:1024px){.elementor-5840 .elementor-element.elementor-element-316a122{--justify-content:space-between;}.elementor-5840 .elementor-element.elementor-element-2131cc9{text-align:center;}.elementor-5840 .elementor-element.elementor-element-0f4bfed{text-align:center;}.elementor-widget-loop-grid .elementor-pagination{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-5840 .elementor-element.elementor-element-b87e948{--grid-columns:2;}}@media(max-width:767px){.elementor-5840 .elementor-element.elementor-element-316a122{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:24px;--padding-bottom:40px;--padding-left:24px;--padding-right:24px;}.elementor-5840 .elementor-element.elementor-element-316a122 > .elementor-shape-bottom svg, .elementor-5840 .elementor-element.elementor-element-316a122 > .e-con-inner > .elementor-shape-bottom svg{width:calc(152% + 1.3px);height:29px;}.elementor-5840 .elementor-element.elementor-element-fcb2f1a{--flex-wrap:nowrap;}.elementor-5840 .elementor-element.elementor-element-344a241{--width:80px;--min-height:80px;}.elementor-5840 .elementor-element.elementor-element-344a241.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5840 .elementor-element.elementor-element-1e7a8e6{--min-height:0px;--justify-content:flex-start;}.elementor-5840 .elementor-element.elementor-element-0b211f2{--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;--z-index:1;}.elementor-widget-loop-grid .elementor-pagination{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-5840 .elementor-element.elementor-element-b87e948{--grid-columns:1;}.elementor-5840 .elementor-element.elementor-element-9c4cc79{--padding-top:40px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for shortcode, class: .elementor-element-601115d */.elementor-5840 .elementor-element.elementor-element-601115d img {
    height: 50px; 
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2131cc9 */.elementor-5840 .elementor-element.elementor-element-2131cc9 p {margin:0px !important;
     margin-block-end: 0 !important;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-0f4bfed */.elementor-5840 .elementor-element.elementor-element-0f4bfed p {margin:0px !important;
    margin-block-end: 0px !important;
}
.elementor-5840 .elementor-element.elementor-element-0f4bfed.rs-view-singular{
    display:none;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-b87e948 *//* Le Conteneur Flex (mt-12 flex gap-2) */
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px; 
    margin-top: 48px; 
}

/* Base commune pour tous les éléments de pagination (w-10 h-10 rounded-full) */
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px; 
    height: 40px; 
    border-radius: 9999px; 
    font-size: 14px; 
    font-weight: 600; 
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    padding: 0; /* Réinitialise le padding natif d'Elementor */
}

/* État inactif (Bordure grise, texte Navy) */
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination a.page-numbers,
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers.prev,
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers.next {
    background-color: #FFFFFF;
    border: 1px solid #DADCE0; 
    color: #1B2159; 
}

/* État Hover (Bordure et texte Primary) */
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination a.page-numbers:hover {
    border-color: #0679D2; 
    color: #0679D2; 
}

/* État Actif "Current" (Fond Primary, Texte Blanc, Ombre Bleue) */
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers.current {
    background-color: #0679D2; 
    color: #FFFFFF; 
    border: 1px solid #0679D2;
    box-shadow: 0 10px 40px rgba(6,121,210,0.25); 
}

/* Spécificités des flèches Prev/Next (Texte Muted au repos) */
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination a.page-numbers.prev,
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination a.page-numbers.next {
    color: #6B6B6B; 
}
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination a.page-numbers.prev:hover,
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination a.page-numbers.next:hover {
    color: #0679D2;
}

/* Règle les dimensions des SVGs dans les boutons (h-4 w-4) */
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers svg {
    width: 16px;
    height: 16px;
    fill: none;
}

/* Les points de suspension "..." */
.elementor-5840 .elementor-element.elementor-element-b87e948 .elementor-pagination .page-numbers.dots {
    width: auto;
    min-width: 20px;
    color: #6B6B6B;
    border: none;
    background: transparent;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-50de19f */:root {
  --rs-brand-bg: #FFFFFF;
  --rs-brand-border: #EAECEF;
  --rs-brand-shadow: 0 4px 14px rgba(27, 33, 89, 0.06);
  --rs-brand-shadow-hover: 0 12px 26px rgba(6, 121, 210, 0.16);
  --rs-brand-radius: 14px;
  /* Largeur MINI d'une carte (desktop/tablette) : c'est ELLE qui pilote le
     nombre de colonnes. Baisse-la pour plus de marques par ligne. */
  --rs-brand-card-min: 132px;
  --rs-brand-logo-h: 54px;
  /* Mobile : largeur d'une colonne du scroller horizontal, en % de la largeur
     visible. 40% ≈ 2 colonnes et demie affichées → la 3e est rognée à droite
     (indice visuel "c'est scrollable"). Baisse pour rogner plus tôt. */
  --rs-brand-col-mobile: 40%;
}

/* Grille auto-fill : le nombre de colonnes s'ajuste tout seul à la largeur
   ET au nombre de marques. Ajouter/retirer une marque ne demande AUCUN réglage.
   auto-fill (et non auto-fit) garde une largeur de carte CONSTANTE : la
   dernière ligne, même incomplète, a des cartes de la même taille que les
   lignes pleines, alignées sur les colonnes. */
.rs-brands-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--rs-brand-card-min), 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
}

/* Carte : boîte blanche, logo centré, hauteur régulière quel que soit le
   ratio du logo (large wordmark ou badge carré). */
.rs-brand-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding: 14px 16px;
  background-color: var(--rs-brand-bg);
  border: 1px solid var(--rs-brand-border);
  border-radius: var(--rs-brand-radius);
  box-shadow: var(--rs-brand-shadow);
  text-decoration: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* Logo en couleur, borné en hauteur ; width auto + object-fit pour ne jamais
   déformer. Pas de grayscale (contrairement au carousel) : cette grille montre
   les logos tels quels. */
.rs-brand-card__logo {
  max-height: var(--rs-brand-logo-h);
  max-width: 100%;
  width: auto;
  object-fit: contain;
}

.rs-brand-card:hover,
.rs-brand-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: var(--rs-brand-shadow-hover);
  border-color: transparent;
}

/* Tablette : cartes un peu plus petites → plus de colonnes disponibles */
@media (max-width: 1024px) {
  .rs-brands-grid {
    grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
    gap: 14px;
  }
}

/* Mobile (&lt; 600px) : scroll horizontal magnétique sur 2 RANGÉES.
   grid-auto-flow:column + grid-template-rows:repeat(2,auto) remplit chaque
   &quot;colonne&quot; avec 2 marques empilées (haut/bas), puis avance vers la droite.
   grid-auto-columns à --rs-brand-col-mobile (40%) laisse ~2,5 colonnes visibles
   → la carte de droite est rognée pour montrer que ça défile. Snap sur le début
   de chaque colonne. */
@media (max-width: 600px) {
  .rs-brands-grid {
    display: grid;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, auto);
    grid-auto-columns: var(--rs-brand-col-mobile);
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-left: 2px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    padding: 2px 2px 10px;
  }

  .rs-brands-grid::-webkit-scrollbar {
    display: none;
  }

  .rs-brand-card {
    min-height: 92px;
    padding: 12px;
    scroll-snap-align: start;
  }

  .rs-brand-card__logo {
    max-height: 48px;
  }
}/* End custom CSS */