/*
 Theme Name:     Drakmaker Design System
 Theme URI:      https://drakmaker.fr/
 Description:    Child theme CSS — Light Theme pour Divi 5
 Author:         Drakmaker
 Template:       Divi
 Version:        2.0.0
*/

/* =========================================================
   1. ROOT CLIENT — DÉBUT
   Charte graphique : polices, couleurs et variables du client
   Ne pas remplacer lors d’une synchronisation du socle DIVI
   ========================================================= */

/*===============================
1. POLICES
================================*/

@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/BarlowCondensed-Regular.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/BarlowCondensed-SemiBold.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/Poppins-Regular.ttf) format('truetype');
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/Poppins-Medium.ttf) format('truetype');
}



/*===============================
2. ROOT
================================*/

:root {
 /* Couleurs de marque */
--brandDark: #86bfa3;
--brand: #8fccad;
--brandLight: #98d9b8;

/* Couleurs sombres */
--darkDark: #222d37;
--dark: #293642;
--darkLight: #303e4d;

/* Couleurs grises */
--greyDark: #ededed;
--grey: #f3f3f3;
--greyLight: #f8f8f8;

/* Couleurs d'accent */
--accentDark: #fce797;
--accent: #ffee99;
--accentLight: #fff29e;
  
  /* Couleurs neutres */
  --white: #ffffff;
  --black: #111111;

  /* Plans visuels — Light Theme */
  --backgroundColor: var(--white);
  --cardColor: var(--greyLight);
  --thumbnailColor: var(--white);

  --thumbnailBorderColor: var(--grey);
  --thumbnailBorder: 1px solid var(--thumbnailBorderColor);
  --thumbnailShadow: 0 0 20px rgb(0 0 0 / 4%);
  --thumbnailShadowHover: 0 5px 20px rgb(0 0 0 / 5%);

  /* Typographies */
  --fontBody: "Poppins", Arial, sans-serif;
  --fontTitle: "Barlow Condensed", Arial, sans-serif;
  --fontAccent: "Poppins", Arial, sans-serif;

  --fontSizeBody: 1rem;
  --lineHeightBody: 1.6;

  --fontSizeH1: 2.5rem;
  --fontSizeH2: 2rem;
  --fontSizeH3: 1.25rem;

  --fontSizeH1Mobile: 2.2rem;
  --fontSizeH2Mobile: 1.75rem;
  --fontSizeH3Mobile: 1.333rem;

  --weightLight: 400;
  --weightEmphasis: 500;
  --weightRegular: 400;
  --weightMedium: 400;
  --weightBold: 500;
  --weightExtraBold: 600;

  /* Structure */
  --siteWidth: 90%;
  --siteMaxWidth: 1350px;

  --spaceXS: 0.5rem;
  --spaceS: 1rem;
  --spaceM: 1.5rem;
  --spaceL: 2rem;
  --spaceXL: 4rem;
  --spaceXXL: 6rem;

  --radiusSmall: 0.5rem;
  --radius: 0.75rem;
  --radiusLarge: 1.5rem;
  --radiusRound: 999px;

  --border: 1px solid var(--grey);
  --transition: all 0.25s ease;

  /* Variables Divi */
  --gcid-primary-color: var(--brand);
  --gcid-secondary-color: var(--brandDark);
  --gcid-heading-color: var(--darkDark);
  --gcid-body-color: var(--darkDark);
  --gcid-link-color: var(--brand);

  --et_global_body_font: var(--fontBody);
  --et_global_heading_font: var(--fontTitle);

  --content-width: var(--siteWidth);
  --content-max-width: var(--siteMaxWidth);
}

/* Réglages de la charte Gutleben : contraste sur le vert clair. */
body #page-container .et_pb_section:is(.lightBackground, .greyBackground, .darkBackground) {
  --buttonPrimaryText: var(--darkDark);
  --buttonPrimaryIcon: var(--darkDark);
}
body #page-container #main-header,
body #page-container #main-header.et-fixed-header {
  box-shadow: none !important;
}

body #page-container .et_pb_button {
  font-family: var(--fontBody) !important;
  font-weight: 400 !important;
}
body #page-container #main-header #top-menu > li.ctaMenu > a,
body #page-container #main-header.et-fixed-header #top-menu > li.ctaMenu > a {
  color: var(--darkDark) !important;
}
body #page-container #main-header #top-menu > li.ctaMenu > a:is(:hover, :focus-visible) {
  background-color: var(--white) !important;
  border-color: var(--white) !important;
}

/* Navigation mobile Gutleben : contraste et couleur de marque. */
body #page-container #main-header .et_mobile_menu {
  border-top-color: var(--brand) !important;
}
body #page-container #main-header .et_mobile_menu li.ctaMenu > a {
  color: var(--darkDark) !important;
}
body #page-container #main-header .et_mobile_menu li.ctaMenu > a:is(:hover, :focus-visible) {
  color: var(--darkDark) !important;
  background-color: var(--white) !important;
}

/* Titres Barlow Condensed : Regular ou SemiBold exclusivement. */
body #page-container footer.et-l--footer .studioFooter h3,
body #page-container footer.et-l--footer .studioFooter h3 a:not(.et_pb_button):not(.et_pb_button_two):not(.buttonLink),
body #page-container .et_pb_sum,
body #page-container .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  font-weight: 600 !important;
}

/* Header Gutleben — thème Light, normal et sticky. */
html body #page-container #main-header,
html body #page-container #main-header.et-fixed-header,
html body #page-container #top-header,
html body.et_secondary_nav_enabled #page-container #top-header {
  background-color: var(--white) !important;
  color: var(--darkDark) !important;
}
html body #page-container #main-header #top-menu > li > a,
html body #page-container #main-header.et-fixed-header #top-menu > li > a,
html body #page-container #top-header a,
html body #page-container #top-header span,
html body #page-container #main-header .et_search_icon::before,
html body #page-container #main-header .mobile_menu_bar::before,
html body #page-container #main-header #top-menu .menu-item-has-children > a:first-child::after {
  color: var(--darkDark) !important;
}
html body #page-container #main-header .sub-menu,
html body #page-container #main-header .et_mobile_menu,
html body #page-container #main-header .et_mobile_menu .sub-menu {
  background-color: var(--white) !important;
}
html body #page-container #main-header .sub-menu li a,
html body #page-container #main-header .et_mobile_menu li a {
  color: var(--darkDark) !important;
}
html body #page-container #main-header #top-menu a:is(:hover, :focus-visible),
html body #page-container #main-header .et_mobile_menu a:is(:hover, :focus-visible),
html body #page-container #top-header a:is(:hover, :focus-visible) {
  color: var(--darkDark) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--brand) !important;
  text-underline-offset: .25em;
}
html body #page-container #main-header #top-menu > li.ctaMenu > a:is(:hover, :focus-visible),
html body #page-container #main-header.et-fixed-header #top-menu > li.ctaMenu > a:is(:hover, :focus-visible),
html body #page-container #main-header .et_mobile_menu li.ctaMenu > a:is(:hover, :focus-visible) {
  color: var(--darkDark) !important;
  background-color: var(--brandDark) !important;
  border-color: var(--brandDark) !important;
  text-decoration: none !important;
}

/* Navigation : Poppins Regular réel, sans graisse synthétique. */
html body #page-container #main-header #top-menu a,
html body #page-container #main-header.et-fixed-header #top-menu a,
html body #page-container #main-header .et_mobile_menu a,
html body #page-container #top-header,
html body #page-container #top-header :is(a, span) {
  font-weight: 400 !important;
  font-synthesis: none;
  text-shadow: none !important;
  -webkit-text-stroke: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Flèches de navigation dans la couleur Brand. */
html body #page-container #main-header #top-menu .menu-item-has-children > a:first-child::after,
html body #page-container #main-header.et-fixed-header #top-menu .menu-item-has-children > a:first-child::after {
  color: var(--brand) !important;
}
/* Voile du héros vidéo : même lisibilité sur la vidéo et l’image de repli. */
body.page-id-4257 #page-container .gutlebenHeroVideo {
  position: relative;
  isolation: isolate;
}
body.page-id-4257 #page-container .gutlebenHeroVideo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: var(--grey);
  opacity: .78;
  pointer-events: none;
}
body.page-id-4257 #page-container .gutlebenHeroVideo > .et_pb_row {
  position: relative;
  z-index: 2;
}
body.page-id-4257 #page-container .gutlebenHeroVideo > :is(.et-pb-background-video, .et_pb_section_video_bg)::after {
  display: none;
}
@media (prefers-reduced-motion: reduce) {
  body.page-id-4257 #page-container .gutlebenHeroVideo > :is(.et-pb-background-video, .et_pb_section_video_bg) {
    display: none !important;
  }
}

/* Pages de référence : lisibilité des échantillons de couleur. */
body #page-container .gutlebenPaletteSwatch,
body #page-container .gutlebenPaletteSwatch .et_pb_text_inner {
  color: var(--darkDark) !important;
}
body #page-container .gutlebenPaletteSwatch.isDarkSwatch,
body #page-container .gutlebenPaletteSwatch.isDarkSwatch .et_pb_text_inner {
  color: #fff !important;
}

/* =========================================================
   1. ROOT CLIENT — FIN
   ========================================================= */


/* =========================================================
   2. SOCLE DIVI COMMUN — DÉBUT
   Version : 1.0.0
   Référence centrale : Notion
   Zone remplaçable lors d’une synchronisation
   ========================================================= */

/*===============================
3. BASE
================================*/

html,
body {
  overflow-x: hidden;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:root,
.lightBackground,
.greyBackground,
.darkBackground {
  --textSelectionBg: var(--brand);
  --textSelectionColor: var(--white);
}

.brandBackground,
.brandColorBackground {
  --textSelectionBg: var(--accent);
  --textSelectionColor: var(--darkDark);
}

::selection {
  background-color: var(--textSelectionBg);
  color: var(--textSelectionColor);
}

body,
.et_pb_text_inner,
.et_pb_text_inner p,
.et_pb_module p,
.et_pb_module li {
  font-family: var(--fontBody), Arial, sans-serif;
  font-size: var(--fontSizeBody);
  font-weight: var(--weightRegular);
  line-height: var(--lineHeightBody);
  color: var(--darkDark);
}

.et_pb_text_inner p,
.et_pb_module p {
  font-weight: var(--weightLight);
}

p:not(.has-background):last-of-type {
  padding-bottom: 0;
}

hr {
  height: 0;
  margin: var(--spaceM) 0;
  border: 0;
  border-top: 1px solid var(--grey) !important;
  background: transparent !important;
}

.et_pb_divider::before {
  border-top-color: var(--grey) !important;
}


/*===============================
4. CONTAINERS ET SECTIONS
================================*/

:root {
  --rowWidth: var(--siteWidth);
  --rowMaxWidth: var(--siteMaxWidth);

  /* Espacements par défaut des structures flex Divi */
  --section-gutter: 30px;
  --row-gutter-horizontal: 4%;
}

.container,
#top-header .container,
#main-header .container,
#main-footer .container,
#et-footer-nav .container,
#footer-bottom .container,
.et_pb_row {
  width: var(--rowWidth) !important;
  max-width: var(--rowMaxWidth) !important;
}

.et_pb_row {
  margin-bottom: var(--spaceL) !important;
}

/* Rythme des rangees dans le corps editable des pages. */
body #page-container :is(.et_pb_post_content, .et_pb_fullwidth_post_content, .et-l--post) .et_pb_section > .et_pb_row:not(:last-child):not(:where(.noMarginBottom, .smallMarginBottom)) {
  margin-bottom: var(--spaceXL) !important;
}
@media (max-width: 767px) {
  body #page-container :is(.et_pb_post_content, .et_pb_fullwidth_post_content, .et-l--post) .et_pb_section > .et_pb_row:not(:last-child):not(:where(.noMarginBottom, .smallMarginBottom)) {
    margin-bottom: 2.5rem !important;
  }
}

/* Espacements à la demande dans Divi. */
body #page-container .et_pb_row.smallMarginBottom {
  margin-bottom: 1.5rem !important;
}

body #page-container .et_pb_row.noMarginBottom {
  margin-bottom: 0 !important;
}

body #page-container :is(.et_pb_row, .et_pb_section).noPaddingBottom {
  padding-bottom: 0 !important;
}



.et_pb_section {
  background-color: var(--backgroundColor);
}

.fullWidth {
  width: 100% !important;
  max-width: 100% !important;
}


/*===============================
5. TYPOGRAPHIE
================================*/

.et_pb_text_inner p,
.et_pb_text_inner ul,
.et_pb_text_inner ol {
  margin-bottom: var(--spaceS) !important;
}

.et_pb_text_inner p:last-child,
.et_pb_text_inner ul:last-child,
.et_pb_text_inner ol:last-child {
  margin-bottom: 0 !important;
}

strong,
b,
.et_pb_text_inner strong,
.et_pb_text_inner b,
.et_pb_module strong,
.et_pb_module b {
  font-family: var(--fontBody) !important;
  font-weight: var(--weightEmphasis) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.et_pb_module h1,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6 {
  font-family: var(--fontTitle);
  font-weight: var(--weightExtraBold);
  line-height: 1.3 !important;
  color: var(--darkDark) !important;
  margin-bottom: 0.2rem !important;
}

.et_pb_module h1 {
  font-size: var(--fontSizeH1) ;
}

.et_pb_module h2 {
  font-size: var(--fontSizeH2) ;
}

.et_pb_module h3,
.et_pb_module h4,
.et_pb_module h5,
.et_pb_module h6 {
  font-size: var(--fontSizeH3);
}

.et_pb_module a {
  text-decoration: none;
}

/*--- Liens dans les textes ---*/
.et_pb_text a,
.et_pb_post_content a {
  color: var(--brand) !important;
}

.et_pb_module a:hover {
  color: var(--brand);
  text-decoration: underline;
}

.et_pb_module h1 a,
.et_pb_module h2 a,
.et_pb_module h3 a,
.et_pb_module h4 a,
.et_pb_module h5 a,
.et_pb_module h6 a,
.et_pb_module h1 a:hover,
.et_pb_module h2 a:hover,
.et_pb_module h3 a:hover,
.et_pb_module h4 a:hover,
.et_pb_module h5 a:hover,
.et_pb_module h6 a:hover {
  text-decoration: none !important;
}

/*--- Fil d’Ariane ---*/
.breadcrumb a,
.breadcrumbs a,
.seopress-breadcrumbs a {
  color: var(--brand) !important;
}

.surTitre,
.et_pb_module .surTitre,
.et_pb_module h1.surTitre,
.et_pb_module h2.surTitre,
.et_pb_module h3.surTitre,
.et_pb_module h4.surTitre,
.et_pb_module h5.surTitre,
.et_pb_module h6.surTitre {
  margin-bottom: 0 !important;
  font-family: var(--fontAccent) !important;
  font-size: 1em !important;
  font-weight: var(--weightRegular) !important;
  letter-spacing: 0px;
  line-height: 1.4 !important;
  color: var(--darkDark) !important;
}

.surTitre::before,
.et_pb_module .surTitre::before {
  content: "•";
  margin-right: 0.5em;
  color: var(--accent);
  font-weight: var(--weightBold);
}

.heroTitle,
.heroTitle h1,
.heroTitle h2,
.heroTitle h3,
.heroTitle h4,
.heroTitle h5,
.heroTitle h6,
.heroTitle p,
.heroTitle span {
  font-family: var(--fontTitle) !important;
  font-size: 2.7em !important;
  font-weight: var(--weightExtraBold) !important;
  line-height: 1.333 !important;
  color: var(--darkDark) !important;
  padding-bottom: var(--spaceXS) !important;
  letter-spacing: -1px !important;
}

@media (max-width: 767px) {
  .et_pb_module h1,
  .heroTitle,
  .heroTitle p,
  .heroTitle span {
    font-size: var(--fontSizeH1Mobile) !important;
  }

  .et_pb_module h2 {
    font-size: var(--fontSizeH2Mobile) !important;
  }

  .et_pb_module h3,
  .et_pb_module h4,
  .et_pb_module h5,
  .et_pb_module h6 {
    font-size: var(--fontSizeH3Mobile) !important;
  }
}



/*--- Introduction ---*/

.intro {
  font-size: 1.5em !important;
  line-height: 1.333em !important;
  font-weight: var(--weightMedium) !important;
}


/*--- Tableaux ---*/

table {
  width: 100%;
  margin: var(--spaceL) 0;
  border-collapse: separate;
  border-spacing: 0;
  border: var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

th,
td {
  padding: var(--spaceS) var(--spaceM);
  text-align: left;
  vertical-align: top;
  border: 1px solid var(--grey) !important;
  border-bottom: var(--border);
}

th {
  background-color: var(--darkDark);
  color: var(--white);
  font-weight: var(--weightBold);
}
tr:nth-child(even) td {
  background-color: var(--greyLight);
}

tr:last-child td {

  border-bottom: 0;

}

/*--- Mobile ---*/

@media (max-width: 767px) {

  .intro {
    font-size: 1.1rem !important;
  }

  th,
  td {
    padding: var(--spaceS);
  }

}


/*===============================
6. HEADER ET FOOTER
================================*/

#top-header,
header {
  font-family: var(--fontBody) !important;
  color: var(--white) !important;
}

body #page-container #main-header,
body #page-container #main-header.et-fixed-header,
body #page-container #top-header,
body.et_secondary_nav_enabled #page-container #top-header {
  background-color: var(--dark) !important;
  color: var(--white) !important;
}

body #page-container #main-header #top-menu > li > a,
body #page-container #main-header.et-fixed-header #top-menu > li > a,
body #page-container #top-header a,
body #page-container #top-header span,
body #page-container #main-header .et_search_icon::before {
  color: var(--white) !important;
}

body #page-container #main-header #top-menu a:is(:hover, :focus-visible),
body #page-container #main-header .et_mobile_menu a:is(:hover, :focus-visible),
body #page-container #top-header a:is(:hover, :focus-visible),
body #page-container header.et-l--header .et_pb_menu a:is(:hover, :focus-visible) {
  color: var(--brand) !important;
}

header ul li a {
  color: var(--white) !important;
}

/* Menu du Theme Builder : liens centrés sur le CTA. */
header.et-l--header .et_pb_menu .et-menu {
  align-items: center !important;
}
header.et-l--header .et_pb_menu .et-menu > li {
  align-items: center !important;
}
header.et-l--header .et_pb_menu .et-menu > li > a {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.4 !important;
}
header.et-l--header .et_pb_menu .et-menu > li.ctaMenu > a {
  padding: 8px 16px !important;
  border-width: 2px !important;
  height: auto !important;
  min-height: 0 !important;
  font-size: 14px !important;
}
header.et-l--header .et_pb_menu a,
header.et-l--header .et_pb_menu a:hover,
header.et-l--header .et_pb_menu a:focus {
  text-decoration: none !important;
}


.sub-menu {
  background-color: var(--dark) !important;
  min-width: 290px !important;
  border-top-color: var(--brand) !important;
  border-radius: var(--radius);
}

.sub-menu li a {
  min-width: 280px !important;
}

/* Sous-menus du header : aucun marqueur, sur ordinateur et mobile. */
:is(#main-header, .et-l--header) .sub-menu,
:is(#main-header, .et-l--header) .sub-menu li {
  list-style: none;
}

.sub-menu li a:where(:not(#main-header *, .et-l--header *))::before {
 content: "•";
 margin-right: 0.5em;
 color: var(--brand);
 font-weight: var(--weightBold);
}

#top-menu .menu-item-has-children > a:first-child::after,
.et-menu .menu-item-has-children > a:first-child::after,
.et_pb_menu .menu-item-has-children > a:first-child::after {
  color: var(--brand) !important;
}

/*--- Menu burger mobile ---*/
.mobile_menu_bar::before,
.et_pb_menu .mobile_menu_bar::before,
.et_pb_fullwidth_menu .mobile_menu_bar::before {
  color: var(--brand) !important;
}

.et_pb_menu__icon--with-svg svg,
.et_pb_menu__icon--with-svg svg path {
  fill: var(--brand) !important;
  color: var(--brand) !important;
}

/*--- Menu mobile ouvert et sous-menus ---*/
.et_mobile_menu,
.et_pb_menu .et_mobile_menu,
.et_pb_fullwidth_menu .et_mobile_menu,
.et_mobile_menu .sub-menu {
  background-color: var(--dark) !important;
}

.et_mobile_menu li a,
.et_mobile_menu .sub-menu li a {
  color: var(--white) !important;
}





/*===============================
7. IMAGES
================================*/

.et_pb_image img,
.et_pb_gallery_image img,
.et_portfolio_image img,
.dica_divi_carousel img,
.et_pb_video .et_pb_video_wrap {
  border-radius: var(--radius);
}

.noRadius img,
.noRadius .et_pb_video_wrap,
.et_pb_module.icon img {
  border-radius: 0 !important;
}


/*===============================
8. BOUTONS
================================*/

/* Hiérarchie : conversion / catalogue / page particulière.
   Les variantes Divi gardent aussi la classe native et_pb_button. */
body #page-container,
.greyBackground {
  --buttonPrimaryBg: var(--brand);
  --buttonPrimaryHoverBg: var(--brandDark);
  --buttonPrimaryBorder: var(--brand);
  --buttonPrimaryHoverBorder: var(--brandDark);
  --buttonPrimaryText: var(--white);
  --buttonSecondaryBg: var(--greyLight);
  --buttonSecondaryHoverBg: var(--greyDark);
  --buttonSecondaryText: var(--darkDark);
  --buttonLinkText: var(--darkDark);
  --buttonLinkAccent: var(--brand);
}

body #page-container .et_pb_section .et_pb_button {
  border-radius: var(--radius);
  text-decoration: none !important;
  font-size: 1rem !important;
  font-weight: var(--weightBold);
  opacity: 1 !important;
  transition: var(--transition) !important;
}

body #page-container .et_pb_section .et_pb_button::after {
  content: "$" !important;
  display: inline-block !important;
  font-family: ETmodules !important;
  font-size: 0.8em !important;
  margin-left: 0.5em !important;
  color: currentColor !important;
}

/* Conversion : Contact, toujours dans la famille de marque. */
body #page-container .et_pb_section .et_pb_button:not(.et_pb_button_two):not(.buttonLink) {
  background-color: var(--buttonPrimaryBg) !important;
  background-image: none !important;
  border: 5px solid var(--buttonPrimaryBorder) !important;
  color: var(--buttonPrimaryText) !important;
}

body #page-container .et_pb_section .et_pb_button:not(.et_pb_button_two):not(.buttonLink):is(:hover, :focus-visible) {
  background-color: var(--buttonPrimaryHoverBg) !important;
  border-color: var(--buttonPrimaryHoverBorder) !important;
  color: var(--buttonPrimaryText) !important;
}

/* Hub / catalogue : une nuance proche du fond, même au survol. */
body #page-container .et_pb_section .et_pb_button.et_pb_button_two {
  background-color: var(--buttonSecondaryBg) !important;
  background-image: none !important;
  border: 5px solid var(--buttonSecondaryBg) !important;
  color: var(--buttonSecondaryText) !important;
}

body #page-container .et_pb_section .et_pb_button.et_pb_button_two:is(:hover, :focus-visible) {
  background-color: var(--buttonSecondaryHoverBg) !important;
  border-color: var(--buttonSecondaryHoverBg) !important;
  color: var(--buttonSecondaryText) !important;
}

/* Page / fiche : lien souligné et petite flèche toujours visible. */
body #page-container .et_pb_section .et_pb_button.buttonLink,
body #page-container .et_pb_section .buttonLink {
  display: inline-flex !important;
  position: relative !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: 0 !important;
  width: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 1.25em 0 0 !important;
  color: var(--buttonLinkText) !important;
  text-decoration: underline !important;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.25em !important;
}

body #page-container .et_pb_section .buttonLink::before {
  content: none !important;
  display: none !important;
}

body #page-container .et_pb_section .et_pb_button.buttonLink::after,
body #page-container .et_pb_section .buttonLink::after {
  content: "$" !important;
  display: inline-block !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  text-decoration: none !important;
  opacity: 1 !important;
  font-family: ETmodules !important;
  font-size: 0.8em !important;
  line-height: 1 !important;
  margin: 0 !important;
  color: var(--buttonLinkText) !important;
  transform: translateY(-50%) !important;
  flex-shrink: 0;
}

body #page-container .et_pb_section .et_pb_button.buttonLink:is(:hover, :focus-visible),
body #page-container .et_pb_section .buttonLink:is(:hover, :focus-visible) {
  background: transparent !important;
  padding: 0 1.25em 0 0 !important;
  color: var(--buttonLinkText) !important;
  text-decoration-color: var(--buttonLinkAccent) !important;
}

body #page-container .et_pb_section .et_pb_button.buttonLink:is(:hover, :focus-visible)::after,
body #page-container .et_pb_section .buttonLink:is(:hover, :focus-visible)::after {
  color: var(--buttonLinkAccent) !important;
}

body #page-container .et_pb_section .et_pb_button:focus-visible {
  outline: 2px solid var(--brand) !important;
  outline-offset: 4px;
}

/*==== CTA MENU ====*/

.ctaMenu a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0.75em 1.5em !important;
  background-color: var(--brand) !important;
  border: 5px solid var(--brand) !important;
  border-radius: var(--radius) !important;
  color: var(--white) !important;
  font-weight: var(--weightBold) !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
  opacity: 1 !important;
}

.ctaMenu a:hover {
  background-color: var(--brandLight) !important;
  border-color: var(--brandLight) !important;
  color: var(--white) !important;
  text-decoration: none !important;
}


/*===============================
9. FORMULAIRES
================================*/

.et_pb_contact_form input,
.et_pb_contact_form textarea,
.et_pb_contact_form select {
  font-family: var(--fontBody) !important;
  font-size: var(--fontSizeBody) !important;
  border-radius: var(--radius) !important;
  border: var(--border) !important;
  background-color: var(--cardColor) !important;
  color: var(--darkDark) !important;
  padding: 0.9rem 1rem !important;
  transition: var(--transition);
}

.et_pb_contact_form input,
.et_pb_contact_form select {
  min-height: 50px !important;
}

.et_pb_contact_form textarea {
  min-height: 140px !important;
}

.et_pb_contact_form input:focus,
.et_pb_contact_form textarea:focus,
.et_pb_contact_form select:focus {
  outline: none !important;
  border-color: var(--brand) !important;
  background-color: var(--white) !important;
}

.et_pb_contact_form input::placeholder,
.et_pb_contact_form textarea::placeholder {
  color: var(--darkDark) !important;
  opacity: 0.65 !important;
}

.et_pb_contact_form .et_pb_contact_field,
.et_pb_contact_form p.et_pb_contact_field,
.et_pb_contact_form .et_pb_contact_field_half,
.et_pb_contact_form .et_pb_contact_field_last {
  padding: 0 !important;
  margin-bottom: var(--spaceXS) !important;
}

.et_contact_bottom_container {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: var(--spaceS) !important;
  width: 100% !important;
  margin-top: 0 !important;
}

.et_pb_contact_right {
  display: flex !important;
  align-items: center !important;
  gap: var(--spaceXS) !important;
  margin: 0 !important;
}

.et_pb_contact_captcha_question {
  color: var(--darkDark) !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

.et_pb_contact_captcha {
  width: 56px !important;
  height: 50px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0.75rem !important;
  border-radius: var(--radius) !important;
  text-align: center !important;
}


/*===============================
10. PLANS VISUELS
================================*/

/* Plan 1 : contenu non cliquable */
.card,
.cardBox,
.card,
.et_pb_tabs,
.et_pb_login,
.et_pb_testimonial,
.et_pb_table_of_contents,
.et_pb_timeline_card {
  background-color: var(--cardColor) !important;
  border-radius: var(--radius);
}

/* Plan 2 : contenu cliquable ou à mettre en avant */
.thumbnail,
.cardShadow,
.et_pb_blurb.et_clickable,
.et_pb_post,
.et_pb_audio_module,
.et_pb_team_member,
.et_pb_pricing_table {
  background-color: var(--thumbnailColor) !important;
  border: var(--thumbnailBorder) !important;
  border-radius: var(--radius);
  overflow: hidden;
}

.thumbnail,
.cardShadow,
.et_pb_blurb.et_clickable,
.et_pb_post {
  transition:
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}

.thumbnail:hover,
.et_pb_blurb.et_clickable:hover,
.et_pb_post:hover {
  box-shadow: var(--thumbnailShadowHover) !important;
  border-color: var(--thumbnailHoverBorderColor, var(--thumbnailBorderColor)) !important;
}

.card,
.cardBox,
.cardShadow,
.thumbnail {
  padding: var(--spaceM);
}

/*--- Carte avec image collée aux bords ---*/
.et_pb_blurb.cardImageEdge,
.dica_divi_carouselitem.cardImageEdge .dica-item {
  padding: var(--spaceM) !important;
  background-color: var(--thumbnailColor) !important;
  border: var(--thumbnailBorder) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
}

.et_pb_blurb.cardImageEdge .et_pb_main_blurb_image,
.et_pb_blurb.cardImageEdge .et_pb_only_image_mode_wrap,
.dica_divi_carousel .dica_divi_carouselitem.cardImageEdge .dica-item .dica-image-container {
  width: calc(100% + (2 * var(--spaceM))) !important;
  max-width: none !important;
  margin: calc(-1 * var(--spaceM)) calc(-1 * var(--spaceM)) 0 !important;
}

.et_pb_blurb.cardImageEdge .et_pb_main_blurb_image img,
.et_pb_blurb.cardImageEdge .et_pb_only_image_mode_wrap img,
.dica_divi_carousel .dica_divi_carouselitem.cardImageEdge .dica-item .dica-image-container img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  border-radius: var(--radius) var(--radius) 0 0 !important;
}

.dica_divi_carousel .dica_divi_carouselitem.cardImageEdge .dica-item .dica-item-content {
  padding: 0 !important;
}



.borderGrey {
  border: var(--border) !important;
  border-radius: var(--radius);
}


/*===============================
11. MODULES DIVI — LIGHT THEME
================================*/

.et_pb_text {
  color: var(--darkDark);
}

.et_pb_image {
  line-height: 0;
}


/*==== FULLWIDTH HEADER ==== */
.et_pb_fullwidth_header {
  background-color: var(--cardColor) !important;
  overflow: hidden;
  border-radius: var(--radius);
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_container {
  width: var(--siteWidth) !important;
  max-width: var(--siteMaxWidth) !important;
}

.et_pb_fullwidth_header .header-logo {
  max-width: 250px !important;
  width: auto !important;
  height: auto !important;
  margin-bottom: var(--spaceM) !important;
}

.et_pb_fullwidth_header .header-image img {
  border-radius: var(--radius) !important;
}

.et_pb_fullwidth_header .et_pb_module_header {
  display: block;
  margin: 0 0 var(--spaceXS) !important;
  padding: 0 !important;
  font-family: var(--fontBody) !important;
  font-size: 1rem !important;
  font-weight: var(--weightBold) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  line-height: 1.4 !important;
  color: var(--brand) !important;
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  display: block;
  margin: 0 0 var(--spaceS) !important;
  padding: 0 !important;
  font-family: var(--fontTitle) !important;
  font-size: var(--fontSizeH1) !important;
  font-weight: var(--weightBold) !important;
  line-height: 1.1 !important;
  color: var(--darkDark) !important;
}

.et_pb_fullwidth_header .et_pb_header_content_wrapper {
  margin: 0 0 var(--spaceM) !important;
  padding: 0 !important;
  color: var(--darkDark) !important;
}

.et_pb_fullwidth_header .et_pb_header_button_wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaceS);
  margin-top: var(--spaceM) !important;
}


/*==== POST CONTENT ==== */
.et_pb_post_content .et_pb_section,
.et_pb_post_content  .et_pb_section .et_pb_row,
.et_pb_post_content  .et_pb_section .et_pb_row:not([class*=et_flex_column])   {
  margin-top: 0 !important;
  padding-top: 0 !important;
  width: 100% !important;
}

/*--- Sur fond gris ---*/
.greyBackground .et_pb_post_content {
  padding: var(--spaceL) !important;
  background-color: var(--white) !important;
  border-radius: var(--radius) !important;
}

/*--- Sur fond sombre ---*/
.darkBackground .et_pb_post_content,
.et_pb_post_content.darkBackground {
  padding: var(--spaceL) !important;
  background-color: var(--darkDark) !important;
  border-radius: var(--radius) !important;
  color: var(--white) !important;
}

.brandBackground .et_pb_post_content {
  padding: var(--spaceL) !important;
  background-color: var(--brandLight) !important;
  border-radius: var(--radius) !important;
  color: var(--white) !important;
}

.darkBackground .et_pb_post_content p,
.darkBackground .et_pb_post_content li,
.darkBackground .et_pb_post_content h1,
.darkBackground .et_pb_post_content h2,
.darkBackground .et_pb_post_content h3,
.darkBackground .et_pb_post_content h4,
.darkBackground .et_pb_post_content h5,
.darkBackground .et_pb_post_content h6 {
  color: var(--white) !important;
}


/*==== BLURB ==== */
.et_pb_blurb .et-pb-icon {
  color: var(--brand) !important;
}

.et_pb_blurb .et_pb_module_header,
.et_pb_blurb .et_pb_module_header a {
  color: var(--dark) !important;
  text-decoration: none !important;
}

.et_pb_blurb .et_pb_module_header a:hover,
.et_pb_blurb.et_clickable:hover .et_pb_module_header,
.et_pb_blurb.et_clickable:hover .et_pb_module_header a {
  /*--- color: var(--brand) !important; ---*/
}

.et_pb_blurb .et_pb_blurb_content {
  width: 100%;
  max-width: 100%;
}

.et_pb_blurb .et_pb_blurb_description,
.et_pb_blurb .et_pb_blurb_description p {
  color: var(--darkDark) !important;
}

.et_pb_blurb.et_clickable {
  padding: var(--spaceM) !important;
}

/* Blurbs photo : image bord a bord, espacement reserve au texte. */
body #page-container .et_pb_blurb.et_pb_blurb_position_top:is(.card,.cardBox,.cardShadow,.thumbnail,.cardImageEdge,.et_clickable):not(.icon):not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):has(.et_pb_main_blurb_image img) {
  padding: 0 !important;
  overflow: hidden !important;
}
body #page-container .et_pb_blurb.et_pb_blurb_position_top:is(.card,.cardBox,.cardShadow,.thumbnail,.cardImageEdge,.et_clickable):not(.icon):not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):has(.et_pb_main_blurb_image img) .et_pb_blurb_content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body #page-container .et_pb_blurb.et_pb_blurb_position_top:is(.card,.cardBox,.cardShadow,.thumbnail,.cardImageEdge,.et_clickable):not(.icon):not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):has(.et_pb_main_blurb_image img) :is(.et_pb_main_blurb_image,.et_pb_main_blurb_image a,.et_pb_image_wrap,.et_pb_only_image_mode_wrap) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body #page-container .et_pb_blurb.et_pb_blurb_position_top:is(.card,.cardBox,.cardShadow,.thumbnail,.cardImageEdge,.et_clickable):not(.icon):not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):has(.et_pb_main_blurb_image img) .et_pb_main_blurb_image img {
  display: block !important;
  width: var(--blurbImageWidth, 100%) !important;
  max-width: 100% !important;
  height: auto !important;
  border-radius: var(--blurbImageRadius, 0) !important;
}

/* Image ronde des résumés, au-dessus ou à gauche du texte. */
body #page-container .et_pb_blurb.blurbImageRounded .et_pb_main_blurb_image img {
  --blurbImageRadius: var(--radiusRound);
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--blurbImageRadius) !important;
}

body #page-container .et_pb_blurb.blurbImageRounded.et_clickable.et_pb_blurb_position_top .et_pb_main_blurb_image img {
  --blurbImageWidth: calc(100% - 2 * var(--spaceL));
  margin: var(--spaceL) auto var(--spaceXS);
}

/* La variante latérale a déjà un retrait sur la carte. */
body #page-container .et_pb_blurb.blurbImageRounded.et_clickable.et_pb_blurb_position_left .et_pb_main_blurb_image img {
  width: calc(100% - 2 * var(--spaceXS)) !important;
  margin: var(--spaceXS);
}
body #page-container .et_pb_blurb.et_pb_blurb_position_top:is(.card,.cardBox,.cardShadow,.thumbnail,.cardImageEdge,.et_clickable):not(.icon):not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):has(.et_pb_main_blurb_image img) .et_pb_blurb_container {
  padding: var(--spaceM) !important;
}

.et_pb_blurb.et_clickable.et_pb_blurb_position_top .et_pb_only_image_mode_wrap img {
  width: 100% !important;
  display: block !important;
}

.et_pb_blurb.et_pb_blurb_position_left:not(.icon) .et_pb_only_image_mode_wrap {
  width: 150px !important;
  min-width: 150px !important;
  margin: 0 var(--spaceM) 0 0 !important;
}

.et_pb_blurb.et_pb_blurb_position_left:not(.icon) .et_pb_only_image_mode_wrap img {
  width: 150px !important;
  max-width: 150px !important;
  height: auto !important;
  border-radius: calc(var(--radius) * 0.6667) !important;
}

.et_pb_blurb.et_pb_blurb_position_left.icon .et_pb_only_image_mode_wrap {
  width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  margin: 0 var(--spaceS) 0 0 !important;
}

.et_pb_blurb.et_pb_blurb_position_left.icon .et_pb_only_image_mode_wrap img,
.et_pb_blurb.et_pb_blurb_position_left.icon .et_pb_main_blurb_image img {
  width: 70px !important;
  min-width: 70px !important;
  max-width: 70px !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

.et_pb_blurb.icon .et_pb_main_blurb_image img {
  max-width: 80px !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

/*--- Icônes des items DiviGear Carousel ---*/
.dica_divi_carouselitem.icon .dica-image-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: var(--spaceM) 0 0 !important;
  overflow: visible !important;
}

.dica_divi_carouselitem.icon.et_clickable .dica-image-container,
.dica_divi_carouselitem.icon.et-clickable .dica-image-container {
  padding-right: var(--spaceM) !important;
  padding-left: var(--spaceM) !important;
}

.dica_divi_carouselitem.icon .dica-image-container .image {
  display: inline-block !important;
  width: auto !important;
  max-width: 80px !important;
  overflow: visible !important;
}

.dica_divi_carousel .dica_divi_carouselitem.icon .dica-image-container img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 40px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

.dica_divi_carousel .dica_divi_carouselitem .et-pb-icon {
  font-size: 40px !important;
  line-height: 1 !important;
  height: auto !important;
  max-height: 40px !important;
}

/*==== BLURB BRAND COLOR ====*/

.et_pb_blurb.blurbBrandColor {
  background-color: var(--brand) !important;
  padding: var(--spaceM) !important;
  border-radius: var(--radius) !important;
}

.et_pb_blurb.blurbBrandColor .et_pb_module_header,
.et_pb_blurb.blurbBrandColor .et_pb_module_header a,
.et_pb_blurb.blurbBrandColor .et_pb_blurb_description,
.et_pb_blurb.blurbBrandColor .et_pb_blurb_description p {
  color: var(--white) !important;
}

.et_pb_blurb.blurbBrandColor .et-pb-icon {
  color: var(--white) !important;
}

/*--- Bouton / lien ---*/
.et_pb_blurb.blurbBrandColor .et_pb_blurb_description a {
  color: var(--white) !important;
}

.et_pb_blurb.blurbBrandColor .et_pb_blurb_description a:hover {
  color: var(--white) !important;
}


/*==== CTA / PROMO ====*/
.et_pb_promo {
  max-width: 900px;
  margin: auto;
  padding: var(--spaceXL) !important;

  background-color: var(--thumbnailColor) !important;
  border: var(--thumbnailBorder) !important;
  border-radius: var(--radiusLarge);
  box-shadow: var(--thumbnailShadow);
  overflow: hidden;
}

.et_pb_promo h1,
.et_pb_promo h2,
.et_pb_promo h3,
.et_pb_promo p {
  color: var(--darkDark) !important;
}









/*==== CTA DARK ====*/
.ctaDark {
  padding : 2em !important;
}

.et_pb_blurb.et_clickable.ctaDark:hover {
  box-shadow: none !important;
}

.ctaDark  .et_pb_module_header,
.ctaDark  .et_pb_module_header a,
.ctaDark  .et_pb_blurb_description,
.ctaDark  .et_pb_blurb_description p, 
.et_pb_blurb.et_clickable.ctaDark  .et_pb_module_header,
.et_pb_blurb.et_clickable.ctaDark  .et_pb_module_header a,
.et_pb_blurb.et_clickable.ctaDark .et_pb_blurb_description,
.et_pb_blurb.et_clickable.ctaDark .et_pb_blurb_description p {
  color: var(--white) !important;
}

/* Bento : texte sombre pour les cartes de marque claires. */
.et_pb_blurb.et_clickable.ctaDark.bentoTextDark .et_pb_module_header,
.et_pb_blurb.et_clickable.ctaDark.bentoTextDark .et_pb_module_header a,
.et_pb_blurb.et_clickable.ctaDark.bentoTextDark .et_pb_blurb_description,
.et_pb_blurb.et_clickable.ctaDark.bentoTextDark .et_pb_blurb_description p {
  color: var(--darkDark) !important;
}

/*==== TABS ==== */
.et_pb_tabs {
  border: 0 !important;
  overflow: hidden !important;
}

:root, .lightBackground, .heroCenterLight {
  --tabsBarBg: var(--grey);
  --tabIdleBg: transparent;
  --tabActiveBg: var(--white);
  --tabActiveText: var(--brand);
  --tabHoverBg: var(--greyDark);
  --tabHoverText: var(--dark);
}

:is(.greyBackground, .heroCenterGrey, .darkBackground, .heroCenterDark, .brandBackground, .heroCenterBrand) {
  --tabsBarBg: var(--cardColor);
  --tabIdleBg: var(--backgroundColor);
  --tabActiveBg: var(--thumbnailColor);
  --tabActiveText: var(--buttonSecondaryText);
  --tabHoverBg: var(--tabActiveBg);
  --tabHoverText: var(--tabActiveText);
}

:is(.greyBackground, .heroCenterGrey) {
  --tabActiveText: var(--brand);
}

.et_pb_tabs_controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spaceXS);
  padding: var(--spaceXS) !important;
  background-color: var(--tabsBarBg) !important;
  border-bottom: 0 !important;
}

.et_pb_tabs_controls li {
  border: 0 !important;
  background: transparent !important;
  border-radius: var(--radius) !important;
}

.et_pb_tabs_controls li a {
  background-color: var(--tabIdleBg) !important;
  color: var(--buttonSecondaryText, var(--dark)) !important;
  font-weight: var(--weightMedium) !important;
  border-radius: var(--radius) !important;
}

.et_pb_tabs_controls li.et_pb_tab_active a,
.et_pb_tabs_controls li.et_pb_tab_active a:hover {
  background-color: var(--tabActiveBg) !important;
  color: var(--tabActiveText) !important;
  text-decoration: none !important;
}

.et_pb_tab {
  background-color: var(--cardColor) !important;
  padding: var(--spaceM) !important;
}

.et_pb_tabs_controls .et_pb_tab_nav_item a:hover {
  background-color: var(--tabHoverBg) !important;
  color: var(--tabHoverText) !important;
  text-decoration: none !important;
}


/*==== TOGGLE / ACCORDÉON ==== */
.et_pb_toggle,
.et_pb_toggle_open,
.et_pb_toggle_close {
  background-color: transparent !important;
}

.et_pb_toggle {
  border: 0 !important;
  border-bottom: 1px solid var(--grey) !important;
  padding: var(--spaceS) 0 !important;
}

/* Filet uniquement entre les items, ouvert ou ferme, selon le theme. */
body #page-container .et_pb_accordion > .et_pb_toggle {
  border-bottom: 0 !important;
}
body #page-container .et_pb_accordion > .et_pb_toggle + .et_pb_toggle {
  border-top: 1px solid var(--thumbnailBorderColor, var(--greyDark)) !important;
}

.et_pb_toggle_title {
  color: var(--dark) !important;
}

.et_pb_toggle_title::before {
  color: var(--brand) !important;
}


/*==== BLOG ==== */
.et_pb_post {
  padding: 0 !important;
}

.et_pb_post .et_pb_image_container {
  margin-bottom: 10px;
}

.et_pb_post .entry-featured-image-url {
  display: block;
  margin: 0 !important;
  line-height: 0 !important;
}

.et_pb_post .entry-featured-image-url img {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  border-radius: var(--radius) var(--radius) 0 0 !important;
}

.et_pb_post .entry-title,
.et_pb_post .post-meta,
.et_pb_post .post-content {
  padding-left: var(--spaceM) !important;
  padding-right: var(--spaceM) !important;
}

.et_pb_post .entry-title {
  padding-top: var(--spaceS) !important;
  margin: 0 0 var(--spaceXS) !important;
}

.et_pb_post .entry-title,
.et_pb_post .entry-title a {
  font-family: var(--fontTitle) !important;
  font-size: var(--fontSizeH3) !important;
  color: var(--darkDark) !important;
  text-decoration: none !important;
}

.et_pb_post .entry-title a:hover,
.et_pb_post:hover .entry-title,
.et_pb_post:hover .entry-title a {
  /*--- color: var(--brand) !important; ---*/
}

.et_pb_post .post-content {
  padding-bottom: var(--spaceM) !important;
}

.et_pb_post .post-meta {
  margin-bottom: var(--spaceXS) !important;
  font-size: 0 !important;
}

.et_pb_post .post-meta span{
  margin-right: var(--spaceXS) !important;
}

.et_pb_post .post-meta a,
.et_pb_post .post-meta .published {
  font-size: 0.8rem !important;
}

.et_pb_post .post-meta a {
  display: inline-block !important;
  padding: 0.333em 0.75em !important;
  margin-right: 0.333em;
  background-color: var(--greyLight) !important;
  border-radius: var(--radiusLarge) !important;
  color: var(--darkDark) !important;
  font-weight: var(--weightRegular) !important;
  line-height: 1 !important;
  transition: var(--transition) !important;
  font-family: var(--fontAccent);
}

.et_pb_post .post-meta a:hover {
  background-color: var(--greyDark) !important;
  color: var(--darkDark) !important;
  text-decoration: none !important;
}



/*--- Métadonnées des articles sous forme de bulles ---*/
.et_pb_post .post-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.333em !important;
  align-items: center !important;
  margin-bottom: var(--spaceS) !important;
}

.et_pb_post .post-meta a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0.5em 0.75em !important;
  margin: 0 !important;
  background-color: var(--greyLight) !important;
  border-radius: var(--radiusRound) !important;
  color: var(--darkDark) !important;
  font-size: 0.8rem !important;
  font-weight: var(--weightRegular) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
}

.et_pb_post .post-meta a:hover {
  background-color: var(--greyDark) !important;
  border-color: var(--greyDark) !important;
  color: var(--darkDark) !important;
  text-decoration: none !important;
}

/* Catégories des cartes d’articles. */
body #page-container .et_pb_post .post-meta .entry-categories a {
  background-color: transparent !important;
  color: var(--buttonSecondaryText, var(--dark)) !important;
  border: 1px solid color-mix(in srgb, currentColor 35%, transparent) !important;
  border-radius: var(--radiusRound) !important;
}

body #page-container .et_pb_post .post-meta .entry-categories a:is(:hover, :focus-visible) {
  background-color: var(--dark) !important;
  color: var(--white) !important;
}


/*==== PORTFOLIO ==== */
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item,
.et_pb_filterable_portfolio .et_pb_portfolio_item {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_portfolio_image,
.et_pb_filterable_portfolio .et_portfolio_image {
  display: block !important;
  position: relative !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  line-height: 0 !important;
  border: var(--thumbnailBorder) !important;
  background-color: var(--thumbnailColor) !important;
  transition: box-shadow 0.25s ease, border-color 0.25s ease;
  margin-bottom:1em;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item:hover .et_portfolio_image,
.et_pb_filterable_portfolio .et_pb_portfolio_item:hover .et_portfolio_image {
  box-shadow: var(--thumbnailShadowHover) !important;
  border-color: var(--thumbnailHoverBorderColor, var(--thumbnailBorderColor)) !important;
}

.et_pb_portfolio .et_portfolio_image img,
.et_pb_filterable_portfolio .et_portfolio_image img {
  width: 100% !important;
  display: block !important;
  border-radius: var(--radius) !important;
}

.et_pb_portfolio .et_overlay,
.et_pb_filterable_portfolio .et_overlay {
  border: 0 !important;
  background-color: rgb(22 23 25 / 80%) !important;
  border-radius: var(--radius) !important;
}

.et_pb_portfolio .et_overlay::before,
.et_pb_filterable_portfolio .et_overlay::before {
  color: var(--brand) !important;
}

.et_pb_portfolio .et_pb_module_header,
.et_pb_filterable_portfolio .et_pb_module_header {
  margin-top: var(--spaceXS) !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.et_pb_portfolio .et_pb_module_header a,
.et_pb_filterable_portfolio .et_pb_module_header a {
  color: var(--darkDark) !important;
  text-decoration: none !important;
}

.et_pb_portfolio .et_pb_portfolio_item:hover .et_pb_module_header a,
.et_pb_filterable_portfolio .et_pb_portfolio_item:hover .et_pb_module_header a {
  /*--- color: var(--brand) !important; ---*/
}



/*--- Métadonnées des projets sous forme de bulles ---*/
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta,
.et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.333em !important;
  margin-top: 0.666rem !important;
}

/*--- Faire disparaître les virgules ---*/
.et_pb_portfolio_item .post-meta {
  color: var(--backgroundColor) !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta a,
.et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0.333em 0.75em !important;
  background-color: var(--greyLight) !important;
  border: var(--border) !important;
  border-radius: var(--radius) !important;
  color: var(--darkDark) !important;
  font-size: 0.8rem !important;
  font-weight: var(--weightMedium) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: var(--transition) !important;
}

.et_pb_portfolio:not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_item .post-meta a:hover,
.et_pb_filterable_portfolio .et_pb_portfolio_item .post-meta a:hover {
  background-color: var(--greyDark) !important;
  border-color: var(--greyDark) !important;
  color: var(--darkDark) !important;
  text-decoration: none !important;
}


/*==== FILTRES PORTFOLIO ==== */
.et_pb_filterable_portfolio .et_pb_portfolio_filters {
  margin-bottom: var(--spaceM) !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--spaceXS) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.666em 1.5em !important;
  background-color: var(--greyLight) !important;
  border: var(--border) !important;
  border-radius: var(--radiusLarge) !important;
  color: var(--darkDark) !important;
  font-size: 0.85rem !important;
  font-weight: var(--weightMedium) !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: var(--transition) !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a:hover {
  background-color: var(--greyDark) !important;
  border-color: var(--greyDark) !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
}

.et_pb_filterable_portfolio .et_pb_portfolio_filters ul li a.active:hover {
  background-color: var(--brandLight) !important;
  border-color: var(--brandLight) !important;
}

/*==== PORTFOLIO FULLWIDTH CAROUSEL ====*/

/*--- Gouttière entre les items ---*/
.et_pb_fullwidth_portfolio_carousel .et_pb_portfolio_items {
  width: calc(100% + var(--spaceS)) !important;
  margin-left: calc(var(--spaceS) / -2) !important;
  margin-right: calc(var(--spaceS) / -2) !important;
}

.et_pb_fullwidth_portfolio_carousel .et_pb_portfolio_item {
  padding-left: calc(var(--spaceS) / 2) !important;
  padding-right: calc(var(--spaceS) / 2) !important;
  box-sizing: border-box !important;
}

/*--- Conteneur de l’image ---*/
.et_pb_fullwidth_portfolio_carousel .et_pb_portfolio_image {
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--radius) !important;
  background-color: var(--thumbnailColor) !important;
}

/*--- Image ---*/
.et_pb_fullwidth_portfolio_carousel .et_pb_portfolio_image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: var(--radius) !important;
}

/*--- Overlay sombre ---*/
.et_pb_fullwidth_portfolio_carousel .et_overlay {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-color: rgb(22 23 25 / 72%) !important;
  border: 0 !important;
  border-radius: var(--radius) !important;
}

/*--- Icône de l’overlay ---*/
.et_pb_fullwidth_portfolio_carousel .et_overlay::before {
  color: var(--brand) !important;
  text-shadow: none !important;
}

/*--- Titre et métadonnées sur l’overlay ---*/
.et_pb_fullwidth_portfolio_carousel .meta {
  border-radius: var(--radius) !important;
}

.et_pb_fullwidth_portfolio_carousel .meta h3,
.et_pb_fullwidth_portfolio_carousel .meta h3 a,
.et_pb_fullwidth_portfolio_carousel .meta .post-meta {
  color: var(--white) !important;
  text-shadow: none !important;
}

/*==== PAGINATION ==== */
.pagination {
  display: block !important;
}

.et_pb_blog_grid .pagination a,
.et_pb_portfolio .pagination a,
.et_pb_filterable_portfolio .pagination a,
.wp-pagenavi a,
.wp-pagenavi span {
  color: var(--dark) !important;
  text-decoration: none !important;
}

.et_pb_filterable_portfolio .et_pb_portofolio_pagination {
  border-top: 1px solid color-mix(in srgb, var(--backgroundColor) 82%, var(--buttonSecondaryText, var(--dark))) !important;
}


/*==== SLIDER ==== */
.et_pb_slider {
  border-radius: var(--radius);
  overflow: visible !important;
  background-color: var(--cardColor) !important;
}

.et_pb_slides,
.et_pb_slide {
  border-radius: var(--radius);
  overflow: hidden;
}

.et_pb_slide_overlay_container {
  background-color: rgb(22 23 25 / 66.6%) !important;
}

.et_pb_slider .et_pb_slide_title,
.et_pb_slider .et_pb_slide_title a {
  text-decoration: none !important;
}

.et_pb_slide_description,
.et_pb_slide_title,
.et_pb_slide_title a,
.et_pb_slide_description h1,
.et_pb_slide_description h2,
.et_pb_slide_description h3,
.et_pb_slide_description h4,
.et_pb_slide_description p,
.et_pb_slide_description .post-meta,
.et_pb_slide_description .post-meta a {
  text-shadow: none !important;
}

.et_pb_slide_with_image .et_pb_slide_image img {
  border-radius: var(--radius);
}

.et_pb_slider .et-pb-controllers a,
.et_pb_group_carousel .et_pb_group_carousel_dot,
.dica_divi_carousel .swiper-pagination-bullet {
  border-radius: var(--radiusSmall) !important;
  background-color: var(--grey) !important;
  opacity: 1 !important;
}

.et_pb_slider .et-pb-controllers a.et-pb-active-control,
.et_pb_group_carousel .et_pb_group_carousel_dot.active,
.et_pb_group_carousel .et_pb_group_carousel_dot_active,
.dica_divi_carousel .swiper-pagination-bullet-active {
  background-color: var(--brand) !important;
}


/*==== FLÈCHES ==== */
.et_pb_fullwidth_portfolio .et-pb-slider-arrows a,
.et_pb_slider .et-pb-arrow-prev,
.et_pb_slider .et-pb-arrow-next,
.et_pb_group_carousel .et_pb_group_carousel_arrow,
.dica_divi_carousel .swiper-button-prev,
.dica_divi_carousel .swiper-button-next {
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: 2.75rem !important;
  min-height: 2.75rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: var(--white) !important;
  border: var(--border) !important;
  border-radius: var(--radiusRound) !important;
  color: var(--brand) !important;
  text-decoration: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  font-size: 1.5em !important;
}

.et_pb_fullwidth_portfolio .et-pb-slider-arrows a:hover,
.et_pb_slider .et-pb-arrow-prev:hover,
.et_pb_slider .et-pb-arrow-next:hover,
.et_pb_group_carousel .et_pb_group_carousel_arrow:hover,
.dica_divi_carousel .swiper-button-prev:hover,
.dica_divi_carousel .swiper-button-next:hover {
  background-color: var(--greyDark) !important;
  color: var(--brand) !important;
}


/* CTA latéral : sticky limité à la hauteur de sa rangée. */
@media (min-width: 981px) {
  html:has(.dmSideCta),
  body:has(.dmSideCta) {
    overflow-x: clip;
  }
  .et_pb_section:has(.dmSideCta),
  .et_pb_row:has(> .et_pb_column > .dmSideCta) {
    overflow: visible !important;
  }
  .et_pb_row:has(> .et_pb_column > .dmSideCta) {
    align-items: stretch !important;
  }
  .et_pb_column:has(> .dmSideCta) {
    align-self: stretch !important;
    overflow: visible !important;
  }
  body #page-container .dmSideCta {
    position: sticky !important;
    top: 80px !important;
    align-self: flex-start !important;
    z-index: 2;
  }
}

/* Dates de publication des articles. */
body #page-container .et_pb_post .post-meta .published,
body #page-container .et_pb_post .post-meta time,
body #page-container .et_pb_post_title .et_pb_title_meta_container .published,
body #page-container .et_pb_post_title .et_pb_title_meta_container time {
  color: var(--brand) !important;
}

/*==== ICÔNES ==== */

/* Règle commune : pictogrammes limités à 40 px sur tout le site. */
body #page-container .icon img,
body #page-container img.icon {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 40px !important;
  object-fit: contain !important;
}

:where(body #page-container) .et-pb-icon {
  font-size: 40px;
  line-height: 1 !important;
  height: auto !important;
  max-height: 40px !important;
}
.et_pb_icon .et-pb-icon,
.et_pb_icon_list .et-pb-icon,
.et_pb_icon_list .et_pb_icon_list_item .et-pb-icon {
  color: var(--brand);
}

/* Listes uniquement : pictogrammes proportionnés au texte. */
body #page-container .et_pb_icon_list .et-pb-icon {
  font-size: 18px !important;
  line-height: 1 !important;
  width: auto !important;
  height: auto !important;
  max-height: 18px !important;
}

/* Hero : textes rapprochés, bénéfices et boutons détachés. */
.et_pb_column:has(> .et_pb_text .heroTitle) {
  row-gap: 8px !important;
}
.et_pb_column:has(> .et_pb_text .heroTitle) > .et_pb_text {
  margin-bottom: 0 !important;
}
.et_pb_column:has(> .et_pb_text .heroTitle) .heroTitle {
  margin-bottom: 0 !important;
  padding-bottom: 8px !important;
}
.et_pb_column:has(> .et_pb_text .heroTitle) > .et_pb_icon_list {
  margin-top: 16px !important;
}
.et_pb_column:has(> .et_pb_text .heroTitle) > .heroButtons {
  margin-top: 24px !important;
}

/*--- Texte des listes d’icônes ---*/
.et_pb_icon_list .et_pb_icon_list_item,
.et_pb_icon_list .et_pb_icon_list_item a,
.et_pb_icon_list .et_pb_icon_list_item p,
.et_pb_icon_list .et_pb_icon_list_item span:not(.et-pb-icon) {
  font-weight: var(--weightBold) !important;
}

body #page-container .buttonIcon .et-pb-icon {
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  flex: 0 0 40px !important;
  aspect-ratio: 1 / 1;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  background-color: var(--brand);
  color: var(--white) !important;
  border-radius: 50%;
  font-size: 24px !important;
  line-height: 1 !important;
}

.et_pb_icon.et_flex_module {
    align-self: inherit !important;
}


/*==== LOGIN ==== */
.et_pb_login {
  overflow: hidden;
  padding: var(--spaceM) !important;
}

.et_pb_login input {
  border-radius: var(--radius);
}


/*==== RECHERCHE ==== */
.et_pb_search {
  border-radius: var(--radius) !important;
  border: var(--border) !important;
}

.et_pb_search input.et_pb_searchsubmit {
  background-color: var(--brand) !important;
  color: var(--white);
  padding: 1em !important;
}

.et_pb_search input.et_pb_searchsubmit:hover {
  background-color: var(--brandLight) !important;
}


/*==== PRICING ==== */
.et_pb_pricing_tables {
  display: flex;
  gap: var(--spaceS);
}

.et_pb_pricing_heading {
  background-color: var(--dark) !important;
  padding: 2em;
}

.et_pb_pricing_heading .et_pb_pricing_title,
.et_pb_pricing_heading .et_pb_best_value {
  color: var(--white) !important;
}

.et_pb_pricing_content_top {
  border-bottom: var(--border);
}

.et_pb_sum,
.et_pb_dollar_sign {
  color: var(--brand) !important;
}

.et_pb_sum {
  font-family: var(--fontTitle) !important;
  font-weight: var(--weightBold) !important;
}


/*==== TEAM ==== */
.et_pb_team_member {
  text-align: left !important;
  padding: var(--spaceM) !important;
}

.et_pb_team_member .et_pb_team_member_image img {
  border-radius: 50% !important;
  width: 120px !important;
  height: 120px !important;
  object-fit: cover;
}

.et_pb_team_member .et_pb_member_position {
  color: var(--brand) !important;
  font-size: 0.8rem;
  font-weight: var(--weightBold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}


/*==== TÉMOIGNAGE ==== */
.et_pb_testimonial {
  padding: var(--spaceM) !important;
}

.et_pb_testimonial::before {
  color: var(--brand);
}


/*==== AUDIO ==== */
.et_pb_audio_module .et_pb_audio_module_content {
  background-color: var(--white) !important;
}

.et_pb_audio_module .mejs-container,
.et_pb_audio_module .mejs-inner,
.et_pb_audio_module .mejs-controls {
  background: transparent !important;
}

.et_pb_audio_module .mejs-time-total,
.et_pb_audio_module .mejs-horizontal-volume-total {
  background-color: var(--grey) !important;
}

.et_pb_audio_module .mejs-time-current,
.et_pb_audio_module .mejs-horizontal-volume-current,
.et_pb_audio_module .mejs-time-handle-content,
.et_pb_audio_module .mejs-horizontal-volume-handle {
  background-color: var(--brand) !important;
}


/*==== SOCIAL ==== */
body #page-container .et_pb_social_media_follow a,
body #page-container .et_pb_social_media_follow a:hover,
body #page-container .et_pb_social_media_follow a:focus,
body #page-container .et_pb_social_media_follow a::before,
body #page-container .et_pb_social_media_follow a:hover::before {
  text-decoration: none !important;
}
.et_pb_social_media_follow .et_pb_social_media_follow_network a.icon {
  background-color: var(--brand) !important;
  border-radius: var(--radius) !important;
  color: var(--white) !important;
  transition: var(--transition) !important;
}

.et_pb_social_media_follow .et_pb_social_media_follow_network a.icon:hover {
  background-color: var(--brandLight) !important;
}

/* Pictogrammes sur le thème BrandColor. */
body #page-container :is(.brandBackground, .heroCenterBrand) :is(.buttonIcon .et-pb-icon, .et_pb_social_media_follow_network a.icon) {
  background-color: var(--brandLight) !important;
  color: var(--white) !important;
}

body #page-container :is(.brandBackground, .heroCenterBrand) :is(.buttonIcon .et-pb-icon:hover, .buttonIcon:is(a, button, .et_clickable):hover .et-pb-icon, .buttonIcon:focus-within .et-pb-icon, .buttonIcon a:hover .et-pb-icon, .et_pb_social_media_follow_network a.icon:is(:hover, :focus-visible)) {
  background-color: var(--white) !important;
  color: var(--brand) !important;
}

body #page-container :is(.brandBackground, .heroCenterBrand) .et_pb_social_media_follow_network a.icon::before {
  color: inherit !important;
}

body #page-container :is(.brandBackground, .heroCenterBrand) .et_pb_icon_list .et-pb-icon {
  color: var(--accent) !important;
}


/*==== TIMELINE ==== */
.et_pb_timeline_connector {
  background-color: var(--grey) !important;
}

.et_pb_timeline_card {
  padding: var(--spaceM) !important;
}

.et_pb_timeline_marker {
  border-radius: var(--radiusSmall);
  background-color: var(--darkLight) !important;
}

.et_pb_timeline_date {
  color: var(--brand) !important;
}



/*==== HAUTEUR DES CARTES EN CARROUSEL ==== */

.et_pb_group_carousel .et_pb_group_carousel_track,
.dica_divi_carousel .swiper-container:not(.swiper-container-vertical) > .swiper-wrapper {
  align-items: stretch;
}

.et_pb_group_carousel .et_pb_group_carousel_slide,
.et_pb_group_carousel .et_pb_group_carousel_slide > .et_pb_group,
.dica_divi_carousel .swiper-container:not(.swiper-container-vertical) > .swiper-wrapper > .dica_divi_carouselitem,
.dica_divi_carousel .dica_divi_carouselitem > .dica-item {
  align-self: stretch;
  height: auto;
}

.et_pb_group_carousel_slide > .et_pb_group > .et_pb_blurb:only-child {
  align-self: stretch;
  flex-grow: 1;
}

/*==== DIVI GROUP CAROUSEL ==== */

/*--- Gouttière entre les tuiles ---*/
.et_pb_group_carousel {
  overflow: visible !important;
}

.et_pb_group_carousel .et_pb_group_carousel_items {
  margin-left: calc(var(--spaceS) * -1) !important;
  margin-right: calc(var(--spaceS) * -1) !important;
}

.et_pb_group_carousel .et_pb_group_carousel_item,
.et_pb_group_carousel .et_pb_group_carousel_slide,
.et_pb_group_carousel .et_pb_group_carousel_child {
  padding-left: var(--spaceS) !important;
  padding-right: var(--spaceS) !important;
}

.et_pb_group_carousel .et_pb_group {
  overflow: hidden !important;
  border-radius: var(--radius) !important;
}

.et_pb_group_carousel .et_pb_group_carousel_arrow {
  padding: 0 !important;
  line-height: 1 !important;
  font-size: 0 !important;
}

/* Group Carousel : pictogrammes des cartes, hauteur maximale 40 px. */
.et_pb_group_carousel.icon .et_pb_group img,
.et_pb_group_carousel .et_pb_group.icon img,
.et_pb_group_carousel .et_pb_group .icon img,
.et_pb_group_carousel .et_pb_group img.icon {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 40px !important;
  object-fit: contain !important;
}

.et_pb_group_carousel .et_pb_group .et-pb-icon {
  font-size: 40px !important;
  line-height: 1 !important;
  height: auto !important;
  max-height: 40px !important;
}

.et_pb_group_carousel .et_pb_group_carousel_arrow span,
.et_pb_group_carousel .et_pb_group_carousel_arrow .et-pb-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  color: var(--brand) !important;
  font-size: 1.75rem !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   CAROUSEL FADE
   ======================================================== */

.carouselFade {
  position: relative;
  overflow: hidden;
}

.carouselFade::before,
.carouselFade::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 20;
  pointer-events: none;
}

.carouselFade::before {
  left: 0;
  background: linear-gradient(
    to right,
    var(--backgroundColor) 0%,
    transparent 100%
  );
}

.carouselFade::after {
  right: 0;
  background: linear-gradient(
    to left,
    var(--backgroundColor) 0%,
    transparent 100%
  );
}



/*==== TABLE DES MATIÈRES ==== */

/*--- Conteneur ---*/
.et_pb_table_of_contents {
  padding: var(--spaceM) !important;
  background-color: var(--cardColor) !important;
  border-radius: var(--radius) !important;
}

/*--- Séparation des items ---*/
.et_pb_table_of_contents .et_pb_table_of_contents__list--level-2 {
  padding-bottom: var(--spaceXS);
  margin-bottom: var(--spaceXS) !important;
  border-bottom: var(--border);
  border-color: var(--greyDark);
}

ol.et_pb_table_of_contents__list--level-2 {
  border-bottom: none !important;
}

/*--- Numéros / marqueurs ---*/
.et_pb_table_of_contents .et_pb_table_of_contents__marker {
  color: var(--brand) !important;
}

/*--- Texte des items ---*/
.et_pb_table_of_contents .et_pb_table_of_contents__link,
.et_pb_table_of_contents .et_pb_table_of_contents__link-text {
  color: var(--darkDark) !important;
  text-decoration: none !important;
}

.et_pb_table_of_contents a:hover,
.et_pb_table_of_contents a:hover .et_pb_table_of_contents__link-text {
  color: var(--brand) !important;
  text-decoration: none !important;
}


/*===============================
12. OVERLAYS ET DÉGRADÉS
================================*/


/*====DÉGRADÉS ========*/
.gradientLightToGrey {
  background: linear-gradient(
    to bottom,
    var(--white) 0%,
    var(--white) 50%,
    var(--grey) 50%,
    var(--grey) 100%
  ) !important;
}

.gradientLightToDark {
  background: linear-gradient(
    to bottom,
    var(--white) 0%,
    var(--white) 50%,
    var(--darkDark) 50%,
    var(--darkDark) 100%
  ) !important;
}

.gradientGreyToLight {
  background: linear-gradient(
    to bottom,
    var(--grey) 0%,
    var(--grey) 50%,
    var(--white) 50%,
    var(--white) 100%
  ) !important;
}

.gradientGreyToDark {
  background: linear-gradient(
    to bottom,
    var(--grey) 0%,
    var(--grey) 50%,
    var(--darkDark) 50%,
    var(--darkDark) 100%
  ) !important;
}

.gradientDarkToGrey {
  background: linear-gradient(
    to bottom,
    var(--darkDark) 0%,
    var(--darkDark) 50%,
    var(--grey) 50%,
    var(--grey) 100%
  ) !important;
}

.gradientDarkToLight {
  background: linear-gradient(
    to bottom,
    var(--darkDark) 0%,
    var(--darkDark) 50%,
    var(--white) 50%,
    var(--white) 100%
  ) !important;
}


.gradientLightToBrand {
  background: linear-gradient(to bottom, var(--white) 0%, var(--white) 50%, var(--brand) 50%, var(--brand) 100%) !important;
}

.gradientBrandToLight {
  background: linear-gradient(to bottom, var(--brand) 0%, var(--brand) 50%, var(--white) 50%, var(--white) 100%) !important;
}

.gradientGreyToBrand {
  background: linear-gradient(to bottom, var(--grey) 0%, var(--grey) 50%, var(--brand) 50%, var(--brand) 100%) !important;
}

.gradientBrandToGrey {
  background: linear-gradient(to bottom, var(--brand) 0%, var(--brand) 50%, var(--grey) 50%, var(--grey) 100%) !important;
}

.gradientDarkToBrand {
  background: linear-gradient(to bottom, var(--darkDark) 0%, var(--darkDark) 50%, var(--brand) 50%, var(--brand) 100%) !important;
}

.gradientBrandToDark {
  background: linear-gradient(to bottom, var(--brand) 0%, var(--brand) 50%, var(--darkDark) 50%, var(--darkDark) 100%) !important;
}


/* Heros centres : image native Divi, voile pilote par classe. */
body #page-container .heroCenterLight { --heroCenterOverlay: var(--white); --heroCenterText: var(--dark); }
body #page-container .heroCenterGrey { --heroCenterOverlay: var(--grey); --heroCenterText: var(--dark); }
body #page-container :is(.heroCenterDark, .heroCenterBrand) { --heroCenterOverlay: var(--dark); --heroCenterText: var(--white); }
body #page-container :is(.heroCenterLight, .heroCenterGrey, .heroCenterDark, .heroCenterBrand) {
  position: relative;
  isolation: isolate;
  --buttonLinkText: var(--heroCenterText);
  color: var(--heroCenterText) !important;
}
body #page-container :is(.heroCenterLight, .heroCenterGrey, .heroCenterDark, .heroCenterBrand)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--heroCenterOverlay);
  opacity: .9;
  border-radius: inherit;
}
body #page-container :is(.heroCenterLight, .heroCenterGrey, .heroCenterDark, .heroCenterBrand) > .et_pb_row {
  position: relative;
  z-index: 2;
}
body #page-container :is(.heroCenterLight, .heroCenterGrey, .heroCenterDark, .heroCenterBrand) :is(.et_pb_text, .et_pb_text p, .et_pb_text h1, .et_pb_text h2, .et_pb_text h3, .heroTitle, .surTitre, .et_pb_icon_list_text) {
  color: var(--heroCenterText) !important;
}

/* Hauteur minimale des sections et centrage des héros vidéo. */
.et_pb_section.fullHeight {
  min-height: 80vh;
}

.et_pb_section.fullHeight:where(.et-pb-has-background-video) {
  justify-content: center;
}

/* Héro en carte. */
.et_pb_section.heroBoxed {
  width: var(--siteWidth);
  max-width: var(--siteMaxWidth);
  margin: 1.5rem auto 0;
  border-radius: var(--radiusLarge);
}

/* Voiles vidéo indépendants du thème du texte. */
.videoOverlayDark {
  --videoOverlayColor: var(--dark);
}

.videoOverlayLight {
  --videoOverlayColor: var(--white);
}

.videoOverlayGrey {
  --videoOverlayColor: var(--grey);
}

.videoOverlayBrand {
  --videoOverlayColor: var(--brand);
}

:is(.videoOverlayDark, .videoOverlayLight, .videoOverlayGrey, .videoOverlayBrand) > :is(.et-pb-background-video, .et_pb_section_video_bg) {
  isolation: isolate;
}

:is(.videoOverlayDark, .videoOverlayLight, .videoOverlayGrey, .videoOverlayBrand) > :is(.et-pb-background-video, .et_pb_section_video_bg)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: var(--videoOverlayColor);
  opacity: .3;
  pointer-events: none;
}

/*==== OVERLAYS ====*/

/* Dégradé horizontal sur le fond, sous le contenu. */
.overlayGradientLeftToRightLight {
  --overlayGradientStart: var(--white);
}

.overlayGradientLeftToRightDark {
  --overlayGradientStart: var(--dark);
}

:where(.overlayGradientLeftToRightLight, .overlayGradientLeftToRightDark) {
  position: relative;
  isolation: isolate;
}

body #page-container :is(.overlayGradientLeftToRightLight, .overlayGradientLeftToRightDark)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background: linear-gradient(to right, var(--overlayGradientStart) 40%, transparent 90%);
  opacity: 1;
}

:is(.overlayGradientLeftToRightLight, .overlayGradientLeftToRightDark) > :is(.et_parallax_bg_wrap, .et-pb-background-video, .et_pb_section_video_bg, .et_pb_background_pattern, .et_pb_background_mask) {
  z-index: -2;
}

/*--- Overlay uni ---*/
.overlay {
  --overlayBackground: var(--darkDark);
  --overlayOpacity: 0.666;
}

/*--- Overlay en dégradé ---*/
.overlayGradient,
.overlayGradientRadius {
  --overlayBackground: linear-gradient(
    to bottom,
    rgb(22 23 25 / 20%) 0%,
    var(--darkDark) 100%
  );
  --overlayOpacity: 1;
}

/*--- Structure commune ---*/
.overlay:not(.et_pb_image),
.et_pb_image.overlay .et_pb_image_wrap,
.overlayGradient,
.overlayGradientRadius {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/*--- Calque visuel ---*/
.overlay:not(.et_pb_image)::before,
.et_pb_image.overlay .et_pb_image_wrap::before,
.overlayGradient::before,
.overlayGradientRadius::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: var(--overlayBackground);
  opacity: var(--overlayOpacity);
}

/*--- Contenu au-dessus uniquement pour les conteneurs Divi ---*/
:is(
  .overlay,
  .overlayGradient,
  .overlayGradientRadius
):is(
  .et_pb_section,
  .et_pb_row,
  .et_pb_column
) > * {
  position: relative;
  z-index: 2;
}

/* Même rayon que les images du thème. */
.overlay:not(.et_pb_image),
.et_pb_image.overlay .et_pb_image_wrap,
.overlayGradientRadius {
  border-radius: var(--radius) !important;
}

/* Respecter les images volontairement sans arrondi. */
:is(.noRadius, .et_pb_module.icon) .et_pb_image.overlay .et_pb_image_wrap,
.et_pb_image.overlay:is(.noRadius, .icon) .et_pb_image_wrap {
  border-radius: 0 !important;
}


/*==== Radius ========*/
.radius {
  border-radius : var(--radius) !important;
}

.radiusLarge {
  border-radius : var(--radiusLarge) !important;
}

.radiusRound {
  border-radius : var(--radiusRound) !important;
}

.radiusSmall {
  border-radius : var(--radiusSmall) !important;
}


/*===============================
13. DIVI GEAR CAROUSEL
================================*/

.dica_divi_carousel .dica-item {
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.dica_divi_carousel .dica-image-container,
.dica_divi_carousel .dica-image-container .image {
  display: block !important;
  margin: 0 0 var(--spaceXS) !important;
  line-height: 0 !important;
}

.dica_divi_carousel .dica-image-container img,
.dica_divi_carousel .dica-image-container img.dica-item-image {
  display: block !important;
  width: 100% !important;
  border-radius: var(--radius) !important;
}

.dica_divi_carousel .dica-item-content {
  padding: 0 !important;
}

.dica_divi_carousel .dica-item-content .item-title,
.dica_divi_carousel .dica-item-content .item-title a {
  color: var(--darkDark) !important;
  text-decoration: none !important;
}

.dica_divi_carousel .dica-item-content .item-title a:hover {
  color: var(--brand) !important;
}

.dica_divi_carousel .dica-item-content .item-subtitle,
.dica_divi_carousel .dica-item-content p {
  font-family: var(--fontBody) !important;
  font-size: var(--fontSizeBody) !important;
  font-weight: var(--weightRegular) !important;
  line-height: var(--lineHeightBody) !important;
  color: var(--darkDark) !important;
}

.dica_divi_carousel .dica-item-content p {
  font-weight: var(--weightLight) !important;
}


/*==== DIVI GEAR — ITEMS CLIQUABLES ==== */

.dica_divi_carouselitem.et-clickable {
  margin-bottom: var(--spaceS) !important;
}
.dica_divi_carousel .dica_divi_carouselitem.et_clickable .dica-item,
.dica_divi_carousel .dica_divi_carouselitem.et-clickable .dica-item,
.dica_divi_carousel .dica-item.et_clickable,
.dica_divi_carousel .dica-item.et-clickable {
  background-color: var(--thumbnailColor) !important;
  border: var(--thumbnailBorder) !important;
  border-radius: var(--radius) !important;
  box-shadow: none !important;
  overflow: hidden !important;
  transition: box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.dica_divi_carousel .dica_divi_carouselitem.et_clickable .dica-item:hover,
.dica_divi_carousel .dica_divi_carouselitem.et-clickable .dica-item:hover,
.dica_divi_carousel .dica-item.et_clickable:hover,
.dica_divi_carousel .dica-item.et-clickable:hover {
  box-shadow: var(--thumbnailShadowHover) !important;
  border-color: var(--thumbnailHoverBorderColor, var(--thumbnailBorderColor)) !important;
}

.dica_divi_carousel .dica_divi_carouselitem.et_clickable .dica-image-container,
.dica_divi_carousel .dica_divi_carouselitem.et-clickable .dica-image-container,
.dica_divi_carousel .dica-item.et_clickable .dica-image-container,
.dica_divi_carousel .dica-item.et-clickable .dica-image-container {
  margin: 0 !important;
}

.dica_divi_carousel .dica_divi_carouselitem.et_clickable .dica-image-container img,
.dica_divi_carousel .dica_divi_carouselitem.et-clickable .dica-image-container img,
.dica_divi_carousel .dica-item.et_clickable .dica-image-container img,
.dica_divi_carousel .dica-item.et-clickable .dica-image-container img {
  border-radius: var(--radius) var(--radius) 0 0 !important;
}

.dica_divi_carousel .dica_divi_carouselitem.et_clickable .dica-item-content,
.dica_divi_carousel .dica_divi_carouselitem.et-clickable .dica-item-content,
.dica_divi_carousel .dica-item.et_clickable .dica-item-content,
.dica_divi_carousel .dica-item.et-clickable .dica-item-content {
  padding: var(--spaceM) !important;
}

/*--- Espace pour les ombres sans réduire le carousel ---*/
.dica_divi_carousel .swiper-container {
  width: calc(100% + 60px) !important;
  max-width: none !important;
  margin-left: -30px !important;
  margin-right: -30px !important;
  padding: 30px !important;
}

/*==== DIVI GEAR — PICTOS ==== */
.dica_divi_carousel.carouselPicto .dica-image-container {
  padding-top: var(--spaceM) !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}

.dica_divi_carousel.carouselPicto .dica-image-container img,
.dica_divi_carousel.carouselPicto .dica-image-container img.dica-item-image {
  width: auto !important;
  max-width: 100px !important;
  height: auto !important;
  max-height: 100px !important;
  object-fit: contain !important;
  margin-inline: auto !important;
  border-radius: 0 !important;
}

/*==== DIVI GEAR — NAVIGATION & DOTS ==== */

/*--- FLECHES -----*/
body #page-container .dica_divi_carousel .swiper-button-prev,
body #page-container .dica_divi_carousel .swiper-button-next {
  width: 50px !important;
  height: 50px !important;
}

body #page-container .dica_divi_carousel .swiper-button-prev:before,
body #page-container .dica_divi_carousel .swiper-button-next:before,
body #page-container .dica_divi_carousel_0 .swiper-button-next:before,
body #page-container .dica_divi_carousel_0 .swiper-button-prev:before, 
body #page-container .dica_divi_carousel_1 .swiper-button-next:before, 
body #page-container .dica_divi_carousel_1 .swiper-button-prev:before, 
body #page-container .dica_divi_carousel_2 .swiper-button-next:before, 
body #page-container .dica_divi_carousel_2 .swiper-button-prev:before {
  font-size: 0.5em;
  color: var(--brand) !important;
}

/*--- DOTS -----*/
body #page-container .dica_divi_carousel .swiper-pagination-bullet {
  background-color: var(--grey) !important;
}

body #page-container .dica_divi_carousel .swiper-pagination-bullet-active {
  background-color: var(--brand) !important;
}

/*===============================
14. ANIMATIONS
================================*/

.drakRevealReady {
  --rowRevealStep: 0.22s;
}

@media (max-width: 767px) {
  .drakRevealReady {
    --rowRevealStep: 0.1s;
  }
}

.drakRevealReady .et_pb_row {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 1.1s ease, transform 1.1s ease;
}

.drakRevealReady .et_pb_column {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 1.1s ease, transform 1.1s ease;
}

.drakRevealReady .et_pb_row.isVisible,
.drakRevealReady .et_pb_row.isVisible .et_pb_column {
  opacity: 1;
  transform: translateY(0);
}

.drakRevealReady .et_pb_row.isVisible > .et_pb_column {
  transition-delay: min(1.2s, calc(0.05s + var(--rowRevealIndex, 0) * var(--rowRevealStep)));
}

/*===== EXCLUSIONS DES ANIMATIONS =====*/

/* Classe placée directement sur une ligne */
.drakRevealReady .et_pb_row.noReveal,
.drakRevealReady .et_pb_row.revealDisabled {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Colonnes directes de la ligne uniquement */
.drakRevealReady .et_pb_row.noReveal > .et_pb_column,
.drakRevealReady .et_pb_row.revealDisabled > .et_pb_column {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* Classe placée sur une section */
.drakRevealReady .et_pb_section.noReveal > .et_pb_row,
.drakRevealReady .et_pb_section.revealDisabled > .et_pb_row {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.drakRevealReady .et_pb_section.noReveal > .et_pb_row > .et_pb_column,
.drakRevealReady .et_pb_section.revealDisabled > .et_pb_row > .et_pb_column {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.drakRevealReady .noReveal .et_pb_row,
.drakRevealReady .noReveal .et_pb_column {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .drakRevealReady .et_pb_row,
  .drakRevealReady .et_pb_column {
    opacity: 1;
    transform: none;
    transition: none;
  }
}



/*===============================
15. STICKY
================================*/



.et_pb_sticky,
.et_pb_sticky_module {
  z-index: 999 !important;
}

/*===============================
16. GREY THEME
================================*/

/*--- Variables du thème ---*/
.greyBackground{
    --backgroundColor: var(--greyDark);
    --cardColor: var(--grey);
    --thumbnailColor: var(--greyLight);
    --thumbnailBorderColor: var(--greyDark);
}

/*===============================
17. BRAND THEME
================================*/

/*--- Variables du thème ---*/
.brandBackground {
  --backgroundColor: var(--brandDark);
  --cardColor: var(--brand);
  --thumbnailColor: var(--brandLight);
  --thumbnailBorderColor: rgb(255 255 255 / 18%);
  --thumbnailBorder: 1px solid var(--thumbnailBorderColor);
  --border: 1px solid rgb(255 255 255 / 18%);

  background-color: var(--backgroundColor) !important;
  color: var(--white);
}

.brandBackground,
.brandBackground .et_pb_text,
.brandBackground .et_pb_text_inner,
.brandBackground .et_pb_text_inner p,
.brandBackground .et_pb_module p,
.brandBackground .et_pb_module li,
.brandBackground h1,
.brandBackground h2,
.brandBackground h3,
.brandBackground h4,
.brandBackground h5,
.brandBackground h6,
.brandBackground .et_pb_module h1,
.brandBackground .et_pb_module h2,
.brandBackground .et_pb_module h3,
.brandBackground .et_pb_module h4,
.brandBackground .et_pb_module h5,
.brandBackground .et_pb_module h6,
.brandBackground .surTitre,
.brandBackground .heroTitle,
.brandBackground .heroTitle p,
.brandBackground .heroTitle span {
  color: var(--white) !important;
}

.brandBackground hr,
.brandBackground .et_pb_divider::before {
  border-top-color: rgb(255 255 255 / 18%) !important;
}


/*===============================
17. DARK THEME
================================*/

/*--- Variables du thème ---*/
.darkBackground {
  --backgroundColor: var(--darkDark);
  --cardColor: var(--dark);
  --thumbnailColor: var(--darkLight);

  --thumbnailBorderColor: rgb(255 255 255 / 8%);
  --thumbnailBorder: 1px solid var(--thumbnailBorderColor);

  --thumbnailShadow: 0 0 30px rgb(0 0 0 / 12%);
  --thumbnailShadowHover: 0 4px 16px rgb(0 0 0 / 12%);

  --border: 1px solid rgb(255 255 255 / 8%);

  background-color: var(--backgroundColor) !important;
  color: var(--white);
}


/*==== TYPOGRAPHIE ====*/

/*--- Texte courant ---*/
.darkBackground,
.darkBackground .et_pb_text,
.darkBackground .et_pb_text_inner,
.darkBackground .et_pb_text_inner p,
.darkBackground .et_pb_module p,
.darkBackground .et_pb_module li {
  color: rgb(255 255 255 / 85%) !important;
}

/*--- Titres ---*/
.darkBackground h1,
.darkBackground h2,
.darkBackground h3,
.darkBackground h4,
.darkBackground h5,
.darkBackground h6,
.darkBackground .et_pb_module h1,
.darkBackground .et_pb_module h2,
.darkBackground .et_pb_module h3,
.darkBackground .et_pb_module h4,
.darkBackground .et_pb_module h5,
.darkBackground .et_pb_module h6 {
  color: var(--white) !important;
}

/*--- Surtitres ---*/
.darkBackground .surTitre,
.darkBackground .et_pb_module .surTitre,
.darkBackground .et_pb_module h1.surTitre,
.darkBackground .et_pb_module h2.surTitre,
.darkBackground .et_pb_module h3.surTitre,
.darkBackground .et_pb_module h4.surTitre,
.darkBackground .et_pb_module h5.surTitre,
.darkBackground .et_pb_module h6.surTitre {
  color: var(--white) !important;
}

/*--- Hero title ---*/
.darkBackground .heroTitle,
.darkBackground .heroTitle h1,
.darkBackground .heroTitle h2,
.darkBackground .heroTitle h3,
.darkBackground .heroTitle h4,
.darkBackground .heroTitle h5,
.darkBackground .heroTitle h6,
.darkBackground .heroTitle p,
.darkBackground .heroTitle span,
.darkBackground p.heroTitle {
  color: var(--white) !important;
}

/*--- Liens textuels ---*/
.darkBackground .et_pb_text a,
.darkBackground .et_pb_blurb_description a,
.darkBackground .et_pb_toggle_content a,
.darkBackground .et_pb_tab a,
.darkBackground .et_pb_testimonial_description a,
.darkBackground .et_pb_timeline_card a {
  color: var(--brand) !important;
}

.darkBackground .et_pb_text a:hover,
.darkBackground .et_pb_blurb_description a:hover,
.darkBackground .et_pb_toggle_content a:hover,
.darkBackground .et_pb_tab a:hover,
.darkBackground .et_pb_testimonial_description a:hover,
.darkBackground .et_pb_timeline_card a:hover {
  color: var(--white) !important;
}

/*--- Séparateurs ---*/
.darkBackground hr {
  border-top-color: rgb(255 255 255 / 8%) !important;
}

.darkBackground .et_pb_divider::before {
  border-top-color: rgb(255 255 255 / 8%) !important;
}


/*==== PLANS VISUELS ====*/

/*--- Cards passives ---*/
.darkBackground .card,
.darkBackground .cardBox,
.darkBackground .card,
.darkBackground .et_pb_tabs,
.darkBackground .et_pb_login,
.darkBackground .et_pb_testimonial,
.darkBackground .et_pb_table_of_contents,
.darkBackground .et_pb_timeline_card {
  background-color: var(--cardColor) !important;
}

/* Une ligne flottante reste blanche sur la transition gris vers sombre. */
.gradientGreyToDark .card {
  background-color: var(--white) !important;
}

/*--- Thumbnails et contenus de premier plan ---*/
.darkBackground .thumbnail,
.darkBackground .cardShadow,
.darkBackground .et_pb_blurb.et_clickable,
.darkBackground .et_pb_post,
.darkBackground .et_pb_audio_module,
.darkBackground .et_pb_team_member,
.darkBackground .et_pb_pricing_table {
  background-color: var(--thumbnailColor) !important;
  border-color: var(--thumbnailColor) !important;
}

/*--- Survol ---*/
.darkBackground .thumbnail:hover,
.darkBackground .cardShadow:hover,
.darkBackground .et_pb_blurb.et_clickable:hover,
.darkBackground .et_pb_post:hover {
  border-color: var(--thumbnailHoverBorderColor, var(--thumbnailBorderColor)) !important;
}

/*--- Bordure générique ---*/
.darkBackground .borderGrey {
  border-color: rgb(255 255 255 / 8%) !important;
}


/*==== BOUTONS ====*/
.darkBackground {
  --buttonPrimaryBg: var(--brand);
  --buttonPrimaryHoverBg: var(--brandDark);
  --buttonPrimaryBorder: var(--brand);
  --buttonPrimaryHoverBorder: var(--brandDark);
  --buttonPrimaryText: var(--white);
  --buttonSecondaryBg: var(--darkLight);
  --buttonSecondaryHoverBg: var(--darkDark);
  --buttonSecondaryText: var(--white);
  --buttonLinkText: var(--white);
  --buttonLinkAccent: var(--brand);
}

/*==== FORMULAIRES ====*/

/*--- Champs ---*/
.darkBackground .et_pb_contact_form input,
.darkBackground .et_pb_contact_form textarea,
.darkBackground .et_pb_contact_form select {
  background-color: var(--darkLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

/*--- Focus ---*/
.darkBackground .et_pb_contact_form input:focus,
.darkBackground .et_pb_contact_form textarea:focus,
.darkBackground .et_pb_contact_form select:focus {
  background-color: var(--dark) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
}

/*--- Placeholder ---*/
.darkBackground .et_pb_contact_form input::placeholder,
.darkBackground .et_pb_contact_form textarea::placeholder {
  color: rgb(255 255 255 / 55%) !important;
}

/*--- Captcha ---*/
.darkBackground .et_pb_contact_captcha_question {
  color: var(--white) !important;
}

.darkBackground .et_pb_contact_captcha {
  background-color: var(--darkLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}


/*==== FULLWIDTH HEADER ====*/

/*--- Conteneur ---*/
.darkBackground .et_pb_fullwidth_header {
  background-color: var(--cardColor) !important;
}

/*--- Sous-titre principal ---*/
.darkBackground .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  color: var(--white) !important;
}

/*--- Texte ---*/
.darkBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper,
.darkBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper p {
  color: rgb(255 255 255 / 85%) !important;
}

/*==== FULLWIDTH HEADER — DARK THEME ====*/

/* Classe sur la section ou directement sur le module */
.darkBackground .et_pb_fullwidth_header,
.et_pb_fullwidth_header.darkBackground {
  background-color: var(--cardColor) !important;
  color: var(--white) !important;
}

/* Surtitre */
.darkBackground .et_pb_fullwidth_header .et_pb_module_header,
.et_pb_fullwidth_header.darkBackground .et_pb_module_header {
  color: var(--brand) !important;
}

/* Titre principal */
.darkBackground .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead,
.et_pb_fullwidth_header.darkBackground .et_pb_fullwidth_header_subhead {
  color: var(--white) !important;
}

/* Texte courant */
.darkBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper,
.darkBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper p,
.et_pb_fullwidth_header.darkBackground .et_pb_header_content_wrapper,
.et_pb_fullwidth_header.darkBackground .et_pb_header_content_wrapper p {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== BLURB ====*/

/*--- Titre ---*/
.darkBackground .et_pb_blurb .et_pb_module_header,
.darkBackground .et_pb_blurb .et_pb_module_header a {
  color: var(--white) !important;
}

.darkBackground .et_pb_blurb .et_pb_module_header a:hover,
.darkBackground .et_pb_blurb.et_clickable:hover .et_pb_module_header,
.darkBackground .et_pb_blurb.et_clickable:hover .et_pb_module_header a {
  /*--- color: var(--brand) !important; ---*/
}

/*--- Description ---*/
.darkBackground .et_pb_blurb .et_pb_blurb_description,
.darkBackground .et_pb_blurb .et_pb_blurb_description p {
  color: rgb(255 255 255 / 85%) !important;
}




/*==== CTA / PROMO ====*/

.darkBackground .et_pb_promo {
  background-color: var(--darkLight) !important;
  border-color: var(--darkLight) !important;
  box-shadow: none;
}

.darkBackground .et_pb_promo h1,
.darkBackground .et_pb_promo h2,
.darkBackground .et_pb_promo h3,
.darkBackground .et_pb_promo p {
  color: var(--white) !important;
}










/*==== TABS ====*/

/*--- Navigation ---*/
/*--- Contenu des onglets ---*/
.darkBackground .et_pb_tab {
  background-color: var(--cardColor) !important;
  color: rgb(255 255 255 / 85%) !important;
}


/*==== TOGGLE / ACCORDÉON ====*/

/*--- Séparation ---*/
.darkBackground .et_pb_toggle {
  border-bottom-color: rgb(255 255 255 / 8%) !important;
}

/*--- Titre ---*/
.darkBackground .et_pb_toggle_title {
  color: var(--white) !important;
}

/*--- Contenu ---*/
.darkBackground .et_pb_toggle_content,
.darkBackground .et_pb_toggle_content p {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== BLOG ====*/

/*--- Titre des articles ---*/
.darkBackground .et_pb_post .entry-title,
.darkBackground .et_pb_post .entry-title a {
  color: var(--white) !important;
}

.darkBackground .et_pb_post .entry-title a:hover,
.darkBackground .et_pb_post:hover .entry-title,
.darkBackground .et_pb_post:hover .entry-title a {
  /*--- color: var(--brand) !important; ---*/
}

/*--- Extrait ---*/
.darkBackground .et_pb_post .post-content,
.darkBackground .et_pb_post .post-content p {
  color: rgb(255 255 255 / 85%) !important;
}

/*--- Métadonnées ---*/
.darkBackground .et_pb_post .post-meta,
.darkBackground .et_pb_post .post-meta .published {
  color: rgb(255 255 255 / 65%) !important;
}

/*--- Bulles des métadonnées ---*/
.darkBackground .et_pb_post .post-meta a {
  background-color: var(--dark) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

.darkBackground .et_pb_post .post-meta a:hover {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
}


/*==== PORTFOLIO ====*/

/*--- Image du projet ---*/
.darkBackground
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio)
.et_portfolio_image,
.darkBackground
.et_pb_filterable_portfolio
.et_portfolio_image {
  background-color: var(--thumbnailColor) !important;
  border-color: var(--thumbnailBorderColor) !important;
}

/*--- Survol de l’image ---*/
.darkBackground
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio)
.et_pb_portfolio_item:hover
.et_portfolio_image,
.darkBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_item:hover
.et_portfolio_image {
  border-color: rgb(255 255 255 / 16%) !important;
}

/*--- Titre du projet ---*/
.darkBackground .et_pb_portfolio .et_pb_module_header a,
.darkBackground .et_pb_filterable_portfolio .et_pb_module_header a {
  color: var(--white) !important;
}

/*--- Survol du titre ---*/
.darkBackground
.et_pb_portfolio
.et_pb_portfolio_item:hover
.et_pb_module_header a,
.darkBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_item:hover
.et_pb_module_header a {
  /*--- color: var(--brand) !important; ---*/
}

/*--- Masquer les virgules ---*/
.darkBackground .et_pb_portfolio_item .post-meta {
  color: var(--backgroundColor) !important;
}

/*--- Bulles des catégories ---*/
.darkBackground
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio)
.et_pb_portfolio_item
.post-meta a,
.darkBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_item
.post-meta a {
  background-color: var(--darkLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

.darkBackground
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio)
.et_pb_portfolio_item
.post-meta a:hover,
.darkBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_item
.post-meta a:hover {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
}


/*==== FILTRES PORTFOLIO ====*/

/*--- Filtres inactifs ---*/
.darkBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_filters
ul
li
a {
  background-color: var(--darkLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

/*--- Survol ---*/
.darkBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_filters
ul
li
a:hover {
  background-color: rgb(255 255 255 / 10%) !important;
  border-color: rgb(255 255 255 / 16%) !important;
  color: var(--white) !important;
}

/*--- Filtre actif ---*/
.darkBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_filters
ul
li
a.active {
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
  color: var(--white) !important;
}


/*==== PAGINATION ====*/

/*--- Liens ---*/
.darkBackground .et_pb_blog_grid .pagination a,
.darkBackground .et_pb_portfolio .pagination a,
.darkBackground .et_pb_filterable_portfolio .pagination a,
.darkBackground .wp-pagenavi a,
.darkBackground .wp-pagenavi span {
  color: var(--white) !important;
}

.darkBackground .pagination a:hover,
.darkBackground .wp-pagenavi a:hover {
  color: var(--brand) !important;
}


/*==== SLIDER ====*/

/*--- Conteneur ---*/
.darkBackground .et_pb_slider {
  background-color: var(--cardColor) !important;
}

/*--- Points de navigation ---*/
.darkBackground .et_pb_slider .et-pb-controllers a,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_dot,
.darkBackground .dica_divi_carousel .swiper-pagination-bullet {
  background-color: rgb(255 255 255 / 25%) !important;
}

/*--- Point actif ---*/
.darkBackground .et_pb_slider .et-pb-controllers a.et-pb-active-control,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_dot.active,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_dot_active,
.darkBackground .dica_divi_carousel .swiper-pagination-bullet-active {
  background-color: var(--brand) !important;
}


/*==== FLÈCHES ====*/

/*--- Flèches des sliders et carrousels ---*/
.darkBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a,
.darkBackground .et_pb_slider .et-pb-arrow-prev,
.darkBackground .et_pb_slider .et-pb-arrow-next,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_arrow,
.darkBackground .dica_divi_carousel .swiper-button-prev,
.darkBackground .dica_divi_carousel .swiper-button-next {
  background-color: var(--darkLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

/*--- Survol ---*/
.darkBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a:hover,
.darkBackground .et_pb_slider .et-pb-arrow-prev:hover,
.darkBackground .et_pb_slider .et-pb-arrow-next:hover,
.darkBackground .et_pb_group_carousel .et_pb_group_carousel_arrow:hover,
.darkBackground .dica_divi_carousel .swiper-button-prev:hover,
.darkBackground .dica_divi_carousel .swiper-button-next:hover {
}

/*--- Icône interne du Group Carousel ---*/
.darkBackground
.et_pb_group_carousel
.et_pb_group_carousel_arrow
span,
.darkBackground
.et_pb_group_carousel
.et_pb_group_carousel_arrow
.et-pb-icon {
  color: inherit !important;
}




/*==== LOGIN ====*/

/*--- Champs ---*/
.darkBackground .et_pb_login input {
  background-color: var(--darkLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}


/*==== RECHERCHE ====*/

/*--- Conteneur ---*/
.darkBackground .et_pb_search {
  background-color: var(--darkLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
}

/*--- Champ ---*/
.darkBackground .et_pb_search input.et_pb_s {
  background-color: var(--darkLight) !important;
  color: var(--white) !important;
}

.darkBackground .et_pb_search input.et_pb_s::placeholder {
  color: rgb(255 255 255 / 55%) !important;
}


/*==== PRICING ====*/

/*--- En-tête ---*/
.darkBackground .et_pb_pricing_heading {
  background-color: var(--dark) !important;
}

/*--- Séparation ---*/
.darkBackground .et_pb_pricing_content_top {
  border-bottom-color: rgb(255 255 255 / 8%) !important;
}

/*--- Texte ---*/
.darkBackground .et_pb_pricing_content,
.darkBackground .et_pb_pricing_content li {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== TEAM ====*/

/*--- Titres ---*/
.darkBackground .et_pb_team_member h1,
.darkBackground .et_pb_team_member h2,
.darkBackground .et_pb_team_member h3,
.darkBackground .et_pb_team_member h4,
.darkBackground .et_pb_team_member h5,
.darkBackground .et_pb_team_member h6 {
  color: var(--white) !important;
}

/*--- Description ---*/
.darkBackground .et_pb_team_member_description,
.darkBackground .et_pb_team_member_description p {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== TÉMOIGNAGE ====*/

/*--- Texte ---*/
.darkBackground .et_pb_testimonial_description,
.darkBackground .et_pb_testimonial_description p,
.darkBackground .et_pb_testimonial_author {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== AUDIO ====*/

/*--- Conteneur interne ---*/
.darkBackground .et_pb_audio_module .et_pb_audio_module_content {
  background-color: var(--thumbnailColor) !important;
}

/*--- Titres et textes ---*/
.darkBackground .et_pb_audio_module h1,
.darkBackground .et_pb_audio_module h2,
.darkBackground .et_pb_audio_module h3,
.darkBackground .et_pb_audio_module h4,
.darkBackground .et_pb_audio_module h5,
.darkBackground .et_pb_audio_module h6,
.darkBackground .et_pb_audio_module p {
  color: var(--white) !important;
}

/*--- Barre de lecture ---*/
.darkBackground .et_pb_audio_module .mejs-time-total,
.darkBackground .et_pb_audio_module .mejs-horizontal-volume-total {
  background-color: rgb(255 255 255 / 20%) !important;
}


/*==== TIMELINE ====*/

/*--- Connecteur ---*/
.darkBackground .et_pb_timeline_connector {
  background-color: rgb(255 255 255 / 12%) !important;
}

/*--- Texte ---*/
.darkBackground .et_pb_timeline_card,
.darkBackground .et_pb_timeline_card p {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== TABLE DES MATIÈRES ====*/

/*--- Conteneur ---*/
.darkBackground .et_pb_table_of_contents {
  background-color: var(--cardColor) !important;
}

/*--- Séparations ---*/
.darkBackground
.et_pb_table_of_contents
.et_pb_table_of_contents__list--level-2 {
  border-color: rgb(255 255 255 / 8%) !important;
}

/*--- Texte des items ---*/
.darkBackground
.et_pb_table_of_contents
.et_pb_table_of_contents__link,
.darkBackground
.et_pb_table_of_contents
.et_pb_table_of_contents__link-text {
  color: var(--white) !important;
}

/*--- Numéros et marqueurs ---*/
.darkBackground
.et_pb_table_of_contents
.et_pb_table_of_contents__marker,
.darkBackground
.et_pb_table_of_contents
ol li::marker {
  color: var(--brand) !important;
}

/*--- Survol ---*/
.darkBackground .et_pb_table_of_contents a:hover,
.darkBackground
.et_pb_table_of_contents
a:hover
.et_pb_table_of_contents__link-text {
  color: var(--brand) !important;
}


/*==== DIVI GEAR CAROUSEL ====*/

/*--- Titres ---*/
.darkBackground
.dica_divi_carousel
.dica-item-content
.item-title,
.darkBackground
.dica_divi_carousel
.dica-item-content
.item-title a {
  color: var(--white) !important;
}

/*--- Survol des titres ---*/
.darkBackground
.dica_divi_carousel
.dica-item-content
.item-title a:hover {
  color: var(--brand) !important;
}

/*--- Sous-titres et textes ---*/
.darkBackground
.dica_divi_carousel
.dica-item-content
.item-subtitle,
.darkBackground
.dica_divi_carousel
.dica-item-content
p {
  color: rgb(255 255 255 / 85%) !important;
}

/*--- Items cliquables ---*/
.darkBackground
.dica_divi_carousel
.dica_divi_carouselitem.et_clickable
.dica-item,
.darkBackground
.dica_divi_carousel
.dica_divi_carouselitem.et-clickable
.dica-item,
.darkBackground
.dica_divi_carousel
.dica-item.et_clickable,
.darkBackground
.dica_divi_carousel
.dica-item.et-clickable {
  background-color: var(--thumbnailColor) !important;
  border-color: var(--thumbnailBorderColor) !important;
}

/*--- Survol des items cliquables ---*/
.darkBackground
.dica_divi_carousel
.dica_divi_carouselitem.et_clickable
.dica-item:hover,
.darkBackground
.dica_divi_carousel
.dica_divi_carouselitem.et-clickable
.dica-item:hover,
.darkBackground
.dica_divi_carousel
.dica-item.et_clickable:hover,
.darkBackground
.dica_divi_carousel
.dica-item.et-clickable:hover {
  border-color: rgb(255 255 255 / 16%) !important;
}

/*--- Flèches ---*/
body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev,
body #page-container .darkBackground .dica_divi_carousel .swiper-button-next {
  background-color: var(--darkLight) !important;
  border-color: var(--darkLight) !important;
}

body #page-container .darkBackground .dica_divi_carousel .swiper-button-prev:before,
body #page-container .darkBackground .dica_divi_carousel .swiper-button-next:before,
body #page-container .darkBackground .dica_divi_carousel_0 .swiper-button-prev:before,
body #page-container .darkBackground .dica_divi_carousel_0 .swiper-button-next:before,
body #page-container .darkBackground .dica_divi_carousel_1 .swiper-button-prev:before,
body #page-container .darkBackground .dica_divi_carousel_1 .swiper-button-next:before,
body #page-container .darkBackground .dica_divi_carousel_2 .swiper-button-prev:before,
body #page-container .darkBackground .dica_divi_carousel_2 .swiper-button-next:before {
  color: var(--brand) !important;
}

/*--- DOTS -----*/
body #page-container .darkBackground .dica_divi_carousel .swiper-pagination-bullet {
  background-color: var(--dark) !important;
}

body #page-container .darkBackground .dica_divi_carousel .swiper-pagination-bullet-active {
  background-color: var(--brand) !important;
}

/*==== FOOTER EN DARK THEME ====*/

/*--- Liens footer dark ---*/

footer.et-l--footer .darkBackground a:not(.et_pb_button):not(.et_pb_button_two):not(.buttonLink) {
  color: rgb(255 255 255 / 78%) !important;
}

footer.et-l--footer .studioFooter h3,
footer.et-l--footer .studioFooter h3 a:not(.et_pb_button):not(.et_pb_button_two):not(.buttonLink) {
  color: var(--white) !important;
  font-weight: var(--weightBold) !important;
}

body #page-container footer.et-l--footer,
body #page-container footer.et-l--footer .et_pb_section {
  background-color: var(--darkDark) !important;
}

body #page-container footer.et-l--footer .et_pb_section.studioFooter {
  background-color: var(--dark) !important;
}

.studioFooter .studioFooterTop {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

body #page-container .studioFooter .studioFooterTop > .et_pb_column {
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
}

.studioFooter .studioFooterLogo {
  width: 12rem;
  max-width: 100%;
}

body #page-container .studioFooter .studioFooterTop > .et_pb_column:last-child {
  margin-inline-start: auto !important;
}

.studioFooter .studioFooterTop .et_pb_social_media_follow {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.studioFooter .studioFooterAddress address {
  font-style: normal;
  margin: 0;
}

@media (max-width: 767px) {
  body #page-container .studioFooter .studioFooterMap {
    flex-wrap: wrap !important;
    row-gap: var(--spaceM);
  }
  body #page-container .studioFooter .studioFooterMap > .et_pb_column {
    flex: 0 0 100% !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

footer.et-l--footer .studioFooter ul {
  list-style: none !important;
  padding-left: 0 !important;
}

footer.et-l--footer .studioFooter li {
  list-style: none !important;
}

footer.et-l--footer .studioFooter h3 a:hover {
  color: var(--brand) !important;
}


footer.et-l--footer .darkBackground a:not(.et_pb_button):not(.et_pb_button_two):not(.buttonLink):hover {
  color: var(--brand) !important;
  text-decoration: none !important;
}

/*--- Puces footer dark ---*/
footer.et-l--footer .darkBackground li::marker {
  color: var(--brand) !important;
}



/*===============================
17B. BRAND THEME — COMPORTEMENT DES MODULES
================================*/

/*
 * Déclinaison complète des composants sur fond de marque.
 * Le jaune d’accent remplace le bleu afin de rester visible sur --brand.
 */

/*==== TYPOGRAPHIE ====*/

/*--- Texte courant ---*/
.brandBackground,
.brandBackground .et_pb_text,
.brandBackground .et_pb_text_inner,
.brandBackground .et_pb_text_inner p,
.brandBackground .et_pb_module p,
.brandBackground .et_pb_module li {
  color: rgb(255 255 255 / 85%) !important;
}

/*--- Titres ---*/
.brandBackground h1,
.brandBackground h2,
.brandBackground h3,
.brandBackground h4,
.brandBackground h5,
.brandBackground h6,
.brandBackground .et_pb_module h1,
.brandBackground .et_pb_module h2,
.brandBackground .et_pb_module h3,
.brandBackground .et_pb_module h4,
.brandBackground .et_pb_module h5,
.brandBackground .et_pb_module h6 {
  color: var(--white) !important;
}

/*--- Surtitres ---*/
.brandBackground .surTitre,
.brandBackground .et_pb_module .surTitre,
.brandBackground .et_pb_module h1.surTitre,
.brandBackground .et_pb_module h2.surTitre,
.brandBackground .et_pb_module h3.surTitre,
.brandBackground .et_pb_module h4.surTitre,
.brandBackground .et_pb_module h5.surTitre,
.brandBackground .et_pb_module h6.surTitre {
  color: var(--white) !important;
}

/*--- Hero title ---*/
.brandBackground .heroTitle,
.brandBackground .heroTitle h1,
.brandBackground .heroTitle h2,
.brandBackground .heroTitle h3,
.brandBackground .heroTitle h4,
.brandBackground .heroTitle h5,
.brandBackground .heroTitle h6,
.brandBackground .heroTitle p,
.brandBackground .heroTitle span,
.brandBackground p.heroTitle {
  color: var(--white) !important;
}

/*--- Liens textuels ---*/
.brandBackground .et_pb_text a,
.brandBackground .et_pb_blurb_description a,
.brandBackground .et_pb_toggle_content a,
.brandBackground .et_pb_tab a,
.brandBackground .et_pb_testimonial_description a,
.brandBackground .et_pb_timeline_card a {
  color: var(--accent) !important;
}

.brandBackground .et_pb_text a:hover,
.brandBackground .et_pb_blurb_description a:hover,
.brandBackground .et_pb_toggle_content a:hover,
.brandBackground .et_pb_tab a:hover,
.brandBackground .et_pb_testimonial_description a:hover,
.brandBackground .et_pb_timeline_card a:hover {
  color: var(--white) !important;
}

/*--- Séparateurs ---*/
.brandBackground hr {
  border-top-color: rgb(255 255 255 / 8%) !important;
}

.brandBackground .et_pb_divider::before {
  border-top-color: rgb(255 255 255 / 8%) !important;
}


/*==== PLANS VISUELS ====*/

/*--- Cards passives ---*/
.brandBackground .card,
.brandBackground .cardBox,
.brandBackground .card,
.brandBackground .et_pb_tabs,
.brandBackground .et_pb_login,
.brandBackground .et_pb_testimonial,
.brandBackground .et_pb_table_of_contents,
.brandBackground .et_pb_timeline_card {
  background-color: var(--cardColor) !important;
}

/* Une ligne flottante reste blanche sur la transition gris vers la marque. */
.gradientGreyToBrand .card {
  background-color: var(--white) !important;
}

/*--- Thumbnails et contenus de premier plan ---*/
.brandBackground .thumbnail,
.brandBackground .cardShadow,
.brandBackground .et_pb_blurb.et_clickable,
.brandBackground .et_pb_post,
.brandBackground .et_pb_audio_module,
.brandBackground .et_pb_team_member,
.brandBackground .et_pb_pricing_table {
  background-color: var(--thumbnailColor) !important;
  border-color: var(--thumbnailColor) !important;
}

/*--- Survol ---*/
.brandBackground .thumbnail:hover,
.brandBackground .cardShadow:hover,
.brandBackground .et_pb_blurb.et_clickable:hover,
.brandBackground .et_pb_post:hover {
  border-color: var(--thumbnailHoverBorderColor, var(--thumbnailBorderColor)) !important;
}

/*--- Bordure générique ---*/
.brandBackground .borderGrey {
  border-color: rgb(255 255 255 / 8%) !important;
}


/*==== BOUTONS ====*/
.brandBackground {
  --buttonPrimaryBg: var(--brandDark);
  --buttonPrimaryHoverBg: var(--brand);
  --buttonPrimaryBorder: var(--white);
  --buttonPrimaryHoverBorder: var(--white);
  --buttonPrimaryText: var(--white);
  --buttonSecondaryBg: var(--brandLight);
  --buttonSecondaryHoverBg: var(--brandDark);
  --buttonSecondaryText: var(--darkDark);
  --buttonLinkText: var(--white);
  --buttonLinkAccent: var(--brandLight);
}

/*==== FORMULAIRES ====*/

/*--- Champs ---*/
.brandBackground .et_pb_contact_form input,
.brandBackground .et_pb_contact_form textarea,
.brandBackground .et_pb_contact_form select {
  background-color: var(--brandLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

/*--- Focus ---*/
.brandBackground .et_pb_contact_form input:focus,
.brandBackground .et_pb_contact_form textarea:focus,
.brandBackground .et_pb_contact_form select:focus {
  background-color: var(--brandDark) !important;
  border-color: var(--accent) !important;
  color: var(--white) !important;
}

/*--- Placeholder ---*/
.brandBackground .et_pb_contact_form input::placeholder,
.brandBackground .et_pb_contact_form textarea::placeholder {
  color: rgb(255 255 255 / 55%) !important;
}

/*--- Captcha ---*/
.brandBackground .et_pb_contact_captcha_question {
  color: var(--white) !important;
}

.brandBackground .et_pb_contact_captcha {
  background-color: var(--brandLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}


/*==== FULLWIDTH HEADER ====*/

/*--- Conteneur ---*/
.brandBackground .et_pb_fullwidth_header {
  background-color: var(--cardColor) !important;
}

/*--- Sous-titre principal ---*/
.brandBackground .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  color: var(--white) !important;
}

/*--- Texte ---*/
.brandBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper,
.brandBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper p {
  color: rgb(255 255 255 / 85%) !important;
}

/*==== FULLWIDTH HEADER — DARK THEME ====*/

/* Classe sur la section ou directement sur le module */
.brandBackground .et_pb_fullwidth_header,
.et_pb_fullwidth_header.brandBackground {
  background-color: var(--cardColor) !important;
  color: var(--white) !important;
}

/* Surtitre */
.brandBackground .et_pb_fullwidth_header .et_pb_module_header,
.et_pb_fullwidth_header.brandBackground .et_pb_module_header {
  color: var(--accent) !important;
}

/* Titre principal */
.brandBackground .et_pb_fullwidth_header .et_pb_fullwidth_header_subhead,
.et_pb_fullwidth_header.brandBackground .et_pb_fullwidth_header_subhead {
  color: var(--white) !important;
}

/* Texte courant */
.brandBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper,
.brandBackground .et_pb_fullwidth_header .et_pb_header_content_wrapper p,
.et_pb_fullwidth_header.brandBackground .et_pb_header_content_wrapper,
.et_pb_fullwidth_header.brandBackground .et_pb_header_content_wrapper p {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== BLURB ====*/

/*--- Titre ---*/
.brandBackground .et_pb_blurb .et_pb_module_header,
.brandBackground .et_pb_blurb .et_pb_module_header a {
  color: var(--white) !important;
}

.brandBackground .et_pb_blurb .et_pb_module_header a:hover,
.brandBackground .et_pb_blurb.et_clickable:hover .et_pb_module_header,
.brandBackground .et_pb_blurb.et_clickable:hover .et_pb_module_header a {
  /*--- color: var(--accent) !important; ---*/
}

/*--- Description ---*/
.brandBackground .et_pb_blurb .et_pb_blurb_description,
.brandBackground .et_pb_blurb .et_pb_blurb_description p {
  color: rgb(255 255 255 / 85%) !important;
}




/*==== CTA / PROMO ====*/

.brandBackground .et_pb_promo {
  background-color: var(--brandLight) !important;
  border-color: var(--brandLight) !important;
  box-shadow: none;
}

.brandBackground .et_pb_promo h1,
.brandBackground .et_pb_promo h2,
.brandBackground .et_pb_promo h3,
.brandBackground .et_pb_promo p {
  color: var(--white) !important;
}










/*==== TABS ====*/

/*--- Navigation ---*/
/*--- Contenu des onglets ---*/
.brandBackground .et_pb_tab {
  background-color: var(--cardColor) !important;
  color: rgb(255 255 255 / 85%) !important;
}


/*==== TOGGLE / ACCORDÉON ====*/

/*--- Séparation ---*/
.brandBackground .et_pb_toggle {
  border-bottom-color: rgb(255 255 255 / 8%) !important;
}

/*--- Titre ---*/
.brandBackground .et_pb_toggle_title {
  color: var(--white) !important;
}

/*--- Contenu ---*/
.brandBackground .et_pb_toggle_content,
.brandBackground .et_pb_toggle_content p {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== BLOG ====*/

/*--- Titre des articles ---*/
.brandBackground .et_pb_post .entry-title,
.brandBackground .et_pb_post .entry-title a {
  color: var(--white) !important;
}

.brandBackground .et_pb_post .entry-title a:hover,
.brandBackground .et_pb_post:hover .entry-title,
.brandBackground .et_pb_post:hover .entry-title a {
  /*--- color: var(--accent) !important; ---*/
}

/*--- Extrait ---*/
.brandBackground .et_pb_post .post-content,
.brandBackground .et_pb_post .post-content p {
  color: rgb(255 255 255 / 85%) !important;
}

/*--- Métadonnées ---*/
.brandBackground .et_pb_post .post-meta,
.brandBackground .et_pb_post .post-meta .published {
  color: rgb(255 255 255 / 65%) !important;
}

/*--- Bulles des métadonnées ---*/
.brandBackground .et_pb_post .post-meta a {
  background-color: var(--brandDark) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

.brandBackground .et_pb_post .post-meta a:hover {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--white) !important;
}


/*==== PORTFOLIO ====*/

/*--- Image du projet ---*/
.brandBackground
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio)
.et_portfolio_image,
.brandBackground
.et_pb_filterable_portfolio
.et_portfolio_image {
  background-color: var(--thumbnailColor) !important;
  border-color: var(--thumbnailBorderColor) !important;
}

/*--- Survol de l’image ---*/
.brandBackground
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio)
.et_pb_portfolio_item:hover
.et_portfolio_image,
.brandBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_item:hover
.et_portfolio_image {
  border-color: rgb(255 255 255 / 16%) !important;
}

/*--- Titre du projet ---*/
.brandBackground .et_pb_portfolio .et_pb_module_header a,
.brandBackground .et_pb_filterable_portfolio .et_pb_module_header a {
  color: var(--white) !important;
}

/*--- Survol du titre ---*/
.brandBackground
.et_pb_portfolio
.et_pb_portfolio_item:hover
.et_pb_module_header a,
.brandBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_item:hover
.et_pb_module_header a {
  /*--- color: var(--accent) !important; ---*/
}

/*--- Masquer les virgules ---*/
.brandBackground .et_pb_portfolio_item .post-meta {
  color: var(--backgroundColor) !important;
}

/*--- Bulles des catégories ---*/
.brandBackground
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio)
.et_pb_portfolio_item
.post-meta a,
.brandBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_item
.post-meta a {
  background-color: var(--brandLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

.brandBackground
.et_pb_portfolio:not(.et_pb_fullwidth_portfolio)
.et_pb_portfolio_item
.post-meta a:hover,
.brandBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_item
.post-meta a:hover {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--white) !important;
}


/*==== FILTRES PORTFOLIO ====*/

/*--- Filtres inactifs ---*/
.brandBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_filters
ul
li
a {
  background-color: var(--brandLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

/*--- Survol ---*/
.brandBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_filters
ul
li
a:hover {
  background-color: rgb(255 255 255 / 10%) !important;
  border-color: rgb(255 255 255 / 16%) !important;
  color: var(--white) !important;
}

/*--- Filtre actif ---*/
.brandBackground
.et_pb_filterable_portfolio
.et_pb_portfolio_filters
ul
li
a.active {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--white) !important;
}


/*==== PAGINATION ====*/

/*--- Liens ---*/
.brandBackground .et_pb_blog_grid .pagination a,
.brandBackground .et_pb_portfolio .pagination a,
.brandBackground .et_pb_filterable_portfolio .pagination a,
.brandBackground .wp-pagenavi a,
.brandBackground .wp-pagenavi span {
  color: var(--white) !important;
}

.brandBackground .pagination a:hover,
.brandBackground .wp-pagenavi a:hover {
  color: var(--accent) !important;
}


/*==== SLIDER ====*/

/*--- Conteneur ---*/
.brandBackground .et_pb_slider {
  background-color: var(--cardColor) !important;
}

/*--- Points de navigation ---*/
.brandBackground .et_pb_slider .et-pb-controllers a,
.brandBackground .et_pb_group_carousel .et_pb_group_carousel_dot,
.brandBackground .dica_divi_carousel .swiper-pagination-bullet {
  background-color: rgb(255 255 255 / 25%) !important;
}

/*--- Point actif ---*/
.brandBackground .et_pb_slider .et-pb-controllers a.et-pb-active-control,
.brandBackground .et_pb_group_carousel .et_pb_group_carousel_dot.active,
.brandBackground .et_pb_group_carousel .et_pb_group_carousel_dot_active,
.brandBackground .dica_divi_carousel .swiper-pagination-bullet-active {
  background-color: var(--accent) !important;
}


/*==== FLÈCHES ====*/

/*--- Flèches des sliders et carrousels ---*/
.brandBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a,
.brandBackground .et_pb_slider .et-pb-arrow-prev,
.brandBackground .et_pb_slider .et-pb-arrow-next,
.brandBackground .et_pb_group_carousel .et_pb_group_carousel_arrow,
.brandBackground .dica_divi_carousel .swiper-button-prev,
.brandBackground .dica_divi_carousel .swiper-button-next {
  background-color: var(--brandLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}

/*--- Survol ---*/
.brandBackground .et_pb_fullwidth_portfolio .et-pb-slider-arrows a:hover,
.brandBackground .et_pb_slider .et-pb-arrow-prev:hover,
.brandBackground .et_pb_slider .et-pb-arrow-next:hover,
.brandBackground .et_pb_group_carousel .et_pb_group_carousel_arrow:hover,
.brandBackground .dica_divi_carousel .swiper-button-prev:hover,
.brandBackground .dica_divi_carousel .swiper-button-next:hover {
}

/*--- Icône interne du Group Carousel ---*/
.brandBackground
.et_pb_group_carousel
.et_pb_group_carousel_arrow
span,
.brandBackground
.et_pb_group_carousel
.et_pb_group_carousel_arrow
.et-pb-icon {
  color: inherit !important;
}




/*==== LOGIN ====*/

/*--- Champs ---*/
.brandBackground .et_pb_login input {
  background-color: var(--brandLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
  color: var(--white) !important;
}


/*==== RECHERCHE ====*/

/*--- Conteneur ---*/
.brandBackground .et_pb_search {
  background-color: var(--brandLight) !important;
  border-color: rgb(255 255 255 / 8%) !important;
}

/*--- Champ ---*/
.brandBackground .et_pb_search input.et_pb_s {
  background-color: var(--brandLight) !important;
  color: var(--white) !important;
}

.brandBackground .et_pb_search input.et_pb_s::placeholder {
  color: rgb(255 255 255 / 55%) !important;
}


/*==== PRICING ====*/

/*--- En-tête ---*/
.brandBackground .et_pb_pricing_heading {
  background-color: var(--brandDark) !important;
}

/*--- Séparation ---*/
.brandBackground .et_pb_pricing_content_top {
  border-bottom-color: rgb(255 255 255 / 8%) !important;
}

/*--- Texte ---*/
.brandBackground .et_pb_pricing_content,
.brandBackground .et_pb_pricing_content li {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== TEAM ====*/

/*--- Titres ---*/
.brandBackground .et_pb_team_member h1,
.brandBackground .et_pb_team_member h2,
.brandBackground .et_pb_team_member h3,
.brandBackground .et_pb_team_member h4,
.brandBackground .et_pb_team_member h5,
.brandBackground .et_pb_team_member h6 {
  color: var(--white) !important;
}

/*--- Description ---*/
.brandBackground .et_pb_team_member_description,
.brandBackground .et_pb_team_member_description p {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== TÉMOIGNAGE ====*/

/*--- Texte ---*/
.brandBackground .et_pb_testimonial_description,
.brandBackground .et_pb_testimonial_description p,
.brandBackground .et_pb_testimonial_author {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== AUDIO ====*/

/*--- Conteneur interne ---*/
.brandBackground .et_pb_audio_module .et_pb_audio_module_content {
  background-color: var(--thumbnailColor) !important;
}

/*--- Titres et textes ---*/
.brandBackground .et_pb_audio_module h1,
.brandBackground .et_pb_audio_module h2,
.brandBackground .et_pb_audio_module h3,
.brandBackground .et_pb_audio_module h4,
.brandBackground .et_pb_audio_module h5,
.brandBackground .et_pb_audio_module h6,
.brandBackground .et_pb_audio_module p {
  color: var(--white) !important;
}

/*--- Barre de lecture ---*/
.brandBackground .et_pb_audio_module .mejs-time-total,
.brandBackground .et_pb_audio_module .mejs-horizontal-volume-total {
  background-color: rgb(255 255 255 / 20%) !important;
}


/*==== TIMELINE ====*/

/*--- Connecteur ---*/
.brandBackground .et_pb_timeline_connector {
  background-color: rgb(255 255 255 / 12%) !important;
}

/*--- Texte ---*/
.brandBackground .et_pb_timeline_card,
.brandBackground .et_pb_timeline_card p {
  color: rgb(255 255 255 / 85%) !important;
}


/*==== TABLE DES MATIÈRES ====*/

/*--- Conteneur ---*/
.brandBackground .et_pb_table_of_contents {
  background-color: var(--cardColor) !important;
}

/*--- Séparations ---*/
.brandBackground
.et_pb_table_of_contents
.et_pb_table_of_contents__list--level-2 {
  border-color: rgb(255 255 255 / 8%) !important;
}

/*--- Texte des items ---*/
.brandBackground
.et_pb_table_of_contents
.et_pb_table_of_contents__link,
.brandBackground
.et_pb_table_of_contents
.et_pb_table_of_contents__link-text {
  color: var(--white) !important;
}

/*--- Numéros et marqueurs ---*/
.brandBackground
.et_pb_table_of_contents
.et_pb_table_of_contents__marker,
.brandBackground
.et_pb_table_of_contents
ol li::marker {
  color: var(--accent) !important;
}

/*--- Survol ---*/
.brandBackground .et_pb_table_of_contents a:hover,
.brandBackground
.et_pb_table_of_contents
a:hover
.et_pb_table_of_contents__link-text {
  color: var(--accent) !important;
}


/*==== DIVI GEAR CAROUSEL ====*/

/*--- Titres ---*/
.brandBackground
.dica_divi_carousel
.dica-item-content
.item-title,
.brandBackground
.dica_divi_carousel
.dica-item-content
.item-title a {
  color: var(--white) !important;
}

/*--- Survol des titres ---*/
.brandBackground
.dica_divi_carousel
.dica-item-content
.item-title a:hover {
  color: var(--accent) !important;
}

/*--- Sous-titres et textes ---*/
.brandBackground
.dica_divi_carousel
.dica-item-content
.item-subtitle,
.brandBackground
.dica_divi_carousel
.dica-item-content
p {
  color: rgb(255 255 255 / 85%) !important;
}

/*--- Items cliquables ---*/
.brandBackground
.dica_divi_carousel
.dica_divi_carouselitem.et_clickable
.dica-item,
.brandBackground
.dica_divi_carousel
.dica_divi_carouselitem.et-clickable
.dica-item,
.brandBackground
.dica_divi_carousel
.dica-item.et_clickable,
.brandBackground
.dica_divi_carousel
.dica-item.et-clickable {
  background-color: var(--thumbnailColor) !important;
  border-color: var(--thumbnailBorderColor) !important;
}

/*--- Survol des items cliquables ---*/
.brandBackground
.dica_divi_carousel
.dica_divi_carouselitem.et_clickable
.dica-item:hover,
.brandBackground
.dica_divi_carousel
.dica_divi_carouselitem.et-clickable
.dica-item:hover,
.brandBackground
.dica_divi_carousel
.dica-item.et_clickable:hover,
.brandBackground
.dica_divi_carousel
.dica-item.et-clickable:hover {
  border-color: rgb(255 255 255 / 16%) !important;
}

/*--- Flèches ---*/
body #page-container .brandBackground .dica_divi_carousel .swiper-button-prev,
body #page-container .brandBackground .dica_divi_carousel .swiper-button-next {
  background-color: var(--brandLight) !important;
  border-color: var(--brandLight) !important;
}

body #page-container .brandBackground .dica_divi_carousel .swiper-button-prev:before,
body #page-container .brandBackground .dica_divi_carousel .swiper-button-next:before,
body #page-container .brandBackground .dica_divi_carousel_0 .swiper-button-prev:before,
body #page-container .brandBackground .dica_divi_carousel_0 .swiper-button-next:before,
body #page-container .brandBackground .dica_divi_carousel_1 .swiper-button-prev:before,
body #page-container .brandBackground .dica_divi_carousel_1 .swiper-button-next:before,
body #page-container .brandBackground .dica_divi_carousel_2 .swiper-button-prev:before,
body #page-container .brandBackground .dica_divi_carousel_2 .swiper-button-next:before {
  color: var(--accent) !important;
}

/*--- DOTS -----*/
body #page-container .brandBackground .dica_divi_carousel .swiper-pagination-bullet {
  background-color: var(--brandDark) !important;
}

body #page-container .brandBackground .dica_divi_carousel .swiper-pagination-bullet-active {
  background-color: var(--accent) !important;
}

/*==== FOOTER EN DARK THEME ====*/

/*--- Liens footer dark ---*/

footer.et-l--footer .brandBackground a:not(.et_pb_button):not(.et_pb_button_two):not(.buttonLink) {
  color: var(--brandLight) !important;
}


footer.et-l--footer .brandBackground a:not(.et_pb_button):not(.et_pb_button_two):not(.buttonLink):hover {
  color: var(--accent) !important;
  text-decoration: none !important;
}

/*--- Puces footer dark ---*/
footer.et-l--footer .brandBackground li::marker {
  color: var(--accent) !important;
}





body #page-container .dmReadingRail {
  width: 100%;
  text-align: left;
}
@media (max-width: 980px) {
  body #page-container .dmReadingRow {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: var(--spaceL) !important;
  }
  body #page-container .dmReadingRow > .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
  }
  body #page-container .dmReadingRail {
    position: static !important;
  }
}
/* MOBILE — empilement des compositions (ordinateur et tablette inchanges). */
@media (max-width: 767px) {
  body #page-container .et_pb_section:has(.heroTitle) .et_pb_icon_list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--spaceS) !important;
  }
  body #page-container .et_pb_section:has(.heroTitle) .et_pb_icon_list > .et_pb_icon_list_item {
    width: 100% !important;
    flex: 0 0 auto !important;
  }
  body #page-container .et_pb_row.dmArticleRow {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: var(--spaceM) !important;
  }
  body #page-container .et_pb_row.dmArticleRow > .et_pb_column {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: stretch !important;
  }
  body #page-container .et_pb_blurb.et_pb_blurb_position_left:not(.icon):has(.et_pb_main_blurb_image img) .et_pb_blurb_content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--spaceM) !important;
  }
  body #page-container .et_pb_blurb.et_pb_blurb_position_left:not(.icon):has(.et_pb_main_blurb_image img) :is(.et_pb_main_blurb_image, .et_pb_only_image_mode_wrap, .et_pb_blurb_container) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body #page-container .et_pb_blurb.et_pb_blurb_position_left:not(.icon) .et_pb_main_blurb_image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  body #page-container .et_pb_blog .et_pb_blog_posts,
  body #page-container :is(.et_pb_portfolio, .et_pb_filterable_portfolio):not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_items {
    grid-template-columns: minmax(0, 1fr) !important;
    column-count: 1 !important;
  }
  body #page-container .et_pb_blog .et_pb_blog_posts > .et_pb_post,
  body #page-container :is(.et_pb_portfolio, .et_pb_filterable_portfolio):not(.et_pb_fullwidth_portfolio) .et_pb_portfolio_items > .et_pb_portfolio_item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    grid-column: 1 / -1 !important;
  }
  body #page-container .et_pb_fullwidth_portfolio .et_pb_portfolio_items {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    left: auto !important;
    gap: var(--spaceM) !important;
  }
  body #page-container .et_pb_fullwidth_portfolio .et_pb_portfolio_item {
    position: relative !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    margin: 0 !important;
  }
  body #page-container .et_pb_fullwidth_portfolio .et-pb-slider-arrows {
    display: none !important;
  }
}

/* Timeline centree : lecture verticale sur mobile. */
@media (max-width: 767px) {
  body #page-container .timelineCentered .et_pb_timeline_track {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: var(--spaceM) !important;
  }
  body #page-container .timelineCentered .et_pb_timeline_item {
    display: grid !important;
    grid-template-columns: 1.5rem minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: var(--spaceS) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }
  body #page-container .timelineCentered .et_pb_timeline_spacer {
    display: none !important;
  }
  body #page-container .timelineCentered .et_pb_timeline_ornament {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: 0 !important;
  }
  body #page-container .timelineCentered .et_pb_timeline_card {
    grid-column: 2 !important;
    grid-row: 1 !important;
    order: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
    text-align: left !important;
    margin: 0 !important;
    transform: none !important;
  }
}

/* FIN CORRECTIONS MOBILE COMPOSITIONS */

/* FIN CORPS ET LECTURE */

/* =========================================================
   2. SOCLE DIVI COMMUN — FIN
   ========================================================= */


/* =========================================================
   3. SPÉCIFIQUE PROJET — DÉBUT
   Ne pas remplacer lors d’une synchronisation du socle DIVI
   ========================================================= */

/*===============================
18. SPÉCIFIQUE PROJET
================================*/

/* Header Single Page : toute la rangée, logo gauche et menu droite. */
.dmSingleHeader .et_pb_row { margin-bottom: 0 !important; }
.dmSingleHeader .et_pb_column,
.dmSingleHeader .et_pb_menu,
.dmSingleHeader .et_pb_menu_inner_container {
  width: 100% !important;
  max-width: 100% !important;
}
.dmSingleHeader .et_pb_column { flex: 1 1 100% !important; min-width: 0; }
.dmSingleHeader .et_pb_menu__logo-wrap { flex: 0 0 auto; margin-right: 24px; }
.dmSingleHeader .et_pb_menu__logo img {
  width: 180px !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 56px !important;
  object-fit: contain;
}
.dmSingleHeader .et_pb_menu__wrap { flex: 1 1 auto; justify-content: flex-end !important; }
.dmSingleHeader .et-menu { align-items: center !important; }
.dmSingleHeader .et-menu > li { align-items: center !important; }
.dmSingleHeader .ctaMenu > a {
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 8px 16px !important;
  border-width: 2px !important;
  line-height: 1.4 !important;
  font-size: 14px !important;
}
@media (max-width: 980px) {
  .dmSingleHeader .et_mobile_menu .ctaMenu > a { display: inline-flex !important; margin-top: 8px; }
}


/* LOGOFOLIO
------------------------------------------- */

.logofolio-grille > .et_pb_column {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 28px !important;
}

/* Desktop : 4 colonnes */
.logofolio-grille > .et_pb_column > .et_pb_image {
    flex: 0 0 calc((100% - 84px) / 4) !important;
    width: calc((100% - 84px) / 4) !important;
    max-width: calc((100% - 84px) / 4) !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    padding: 2em !important;

    border: 1px solid #eeeeee;
    border-radius: var(--radiusSmall);
    overflow: hidden;
}

/* Tablette : 3 colonnes */
@media (max-width: 980px) {
    .logofolio-grille > .et_pb_column > .et_pb_image {
        flex-basis: calc((100% - 56px) / 3) !important;
        width: calc((100% - 56px) / 3) !important;
        max-width: calc((100% - 56px) / 3) !important;
    }
}

/* Mobile : 2 colonnes */
@media (max-width: 767px) {
    .logofolio-grille > .et_pb_column > .et_pb_image {
        flex-basis: calc((100% - 28px) / 2) !important;
        width: calc((100% - 28px) / 2) !important;
        max-width: calc((100% - 28px) / 2) !important;
    }
}

/* Images */
.logofolio-grille .et_pb_image_wrap,
.logofolio-grille img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}


/* =========================================================
   EFFETS & COMPORTEMENTS AVANCÉS
   ======================================================== */



/* =========================================================
   3. SPÉCIFIQUE PROJET — FIN
   ========================================================= */

/* Liste illustree : numero, image de fond carree et texte. */
body #page-container .dmListMain {
  display: grid !important;
  grid-template-columns: 2em clamp(180px, 17vw, 240px) minmax(0, 1fr);
  align-items: center !important;
  gap: var(--spaceM);
}
body #page-container .dmListVisual {
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  width: 100% !important;
  min-width: 0 !important;
  aspect-ratio: 1 / 1;
  align-self: stretch !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  margin: 0 !important;
  padding: 0 !important;
}
body #page-container .dmListMain > .et_pb_blurb {
  min-width: 0;
}
@media (max-width: 767px) {
  body #page-container .dmListMain {
    grid-template-columns: 2em minmax(0, 1fr);
  }
  body #page-container .dmListMain > .et_pb_blurb {
    grid-column: 1 / -1;
  }
}

/* Introduction de page : titre H2 légèrement agrandi, en graisse normale. */
body #page-container .introduction h2,
body #page-container h2.introduction {
  font-size: calc(var(--fontSizeH2) * 1.125) !important;
}
@media (max-width: 767px) {
  body #page-container .introduction h2,
  body #page-container h2.introduction {
    font-size: calc(var(--fontSizeH2Mobile) * 1.125) !important;
  }
}
body #page-container .introduction h2,
body #page-container h2.introduction,
body #page-container .introduction h2 :is(strong, b) {
  font-weight: normal !important;
}

/* Articles en ligne : visuel 4:3 et contenu centre verticalement. */
body #page-container .et_pb_row.dmArticleRow {
  align-items: center !important;
}
body #page-container .dmArticleRow > .et_pb_column {
  align-self: center !important;
  justify-content: center !important;
}
body #page-container .dmArticleRow > .dmArticleVisual {
  aspect-ratio: 4 / 3;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Filet facultatif sur une rangée Divi. */
body #page-container .et_pb_row.borderTop {
  border-top: 1px solid var(--thumbnailBorderColor, var(--greyDark));
  padding: 1.5rem;
}

body #page-container .et_pb_row.noPaddingHorizontal {
  padding-inline: 0 !important;
}

body #page-container .dmListMeta, body #page-container .dmListMeta p { color: var(--editorialAccent, var(--brand)) !important; }


/* MATRICE DES THEMES : plan, contenu en retrait, carte interactive. */
body #page-container, body #page-container :is(.lightBackground, .heroCenterLight, .cardLight, .cardAccent, .cardOverlayLight, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientAccent) {
  --buttonLinkHoverText: var(--buttonLinkText);
  --buttonLinkAccent: var(--brand);
  --floatingSecondaryBg: var(--white);
  --floatingSecondaryHoverBg: var(--greyDark);
  --floatingSecondaryHoverIcon: var(--brand);
  --editorialAccent: var(--brand);
  --quoteBorderColor: var(--brand);
  --backgroundColor: var(--white);
  --cardColor: var(--greyLight);
  --thumbnailColor: var(--white);
  --thumbnailBorderColor: var(--greyDark);
  --buttonPrimaryBg: var(--brand);
  --buttonPrimaryHoverBg: var(--dark);
  --buttonPrimaryText: var(--white);
  --buttonPrimaryHoverText: var(--white);
  --buttonPrimaryIcon: var(--accent);
  --buttonPrimaryHoverIcon: var(--accent);
  --buttonSecondaryBg: var(--greyLight);
  --buttonSecondaryHoverBg: var(--greyDark);
  --buttonSecondaryText: var(--dark);
  --buttonSecondaryHoverText: var(--dark);
  --buttonSecondaryIcon: var(--brand);
  --buttonSecondaryHoverIcon: var(--brand);
  --thumbnailBorder: 1px solid var(--thumbnailBorderColor);
}
body #page-container :is(.greyBackground, .heroCenterGrey, .cardGrey, .cardOverlayGrey, .cardOverlayGradientGrey) {
  --buttonLinkHoverText: var(--buttonLinkText);
  --buttonLinkAccent: var(--brand);
  --floatingSecondaryBg: var(--white);
  --floatingSecondaryHoverBg: var(--greyLight);
  --floatingSecondaryHoverIcon: var(--brand);
  --editorialAccent: var(--brand);
  --quoteBorderColor: var(--brand);
  --backgroundColor: var(--grey);
  --cardColor: var(--greyDark);
  --thumbnailColor: var(--greyLight);
  --thumbnailBorderColor: var(--greyDark);
  --buttonPrimaryBg: var(--brand);
  --buttonPrimaryHoverBg: var(--dark);
  --buttonPrimaryText: var(--white);
  --buttonPrimaryHoverText: var(--white);
  --buttonPrimaryIcon: var(--accent);
  --buttonPrimaryHoverIcon: var(--accent);
  --buttonSecondaryBg: var(--greyLight);
  --buttonSecondaryHoverBg: var(--greyDark);
  --buttonSecondaryText: var(--dark);
  --buttonSecondaryHoverText: var(--dark);
  --buttonSecondaryIcon: var(--brand);
  --buttonSecondaryHoverIcon: var(--brand);
  --thumbnailBorder: 1px solid var(--thumbnailBorderColor);
}
body #page-container :is(.darkBackground, .heroCenterDark, .cardDark, .cardOverlayDark, .cardOverlayGradientDark) {
  --buttonLinkHoverText: var(--buttonLinkText);
  --buttonLinkAccent: var(--brand);
  --floatingSecondaryBg: var(--darkLight);
  --floatingSecondaryHoverBg: var(--white);
  --floatingSecondaryHoverIcon: var(--brand);
  --editorialAccent: var(--brand);
  --quoteBorderColor: var(--brand);
  --backgroundColor: var(--dark);
  --cardColor: var(--darkDark);
  --thumbnailColor: var(--darkLight);
  --thumbnailBorderColor: var(--darkLight);
  --buttonPrimaryBg: var(--brand);
  --buttonPrimaryHoverBg: var(--white);
  --buttonPrimaryText: var(--white);
  --buttonPrimaryHoverText: var(--dark);
  --buttonPrimaryIcon: var(--accent);
  --buttonPrimaryHoverIcon: var(--accent);
  --buttonSecondaryBg: var(--darkDark);
  --buttonSecondaryHoverBg: var(--darkLight);
  --buttonSecondaryText: var(--white);
  --buttonSecondaryHoverText: var(--white);
  --buttonSecondaryIcon: var(--brand);
  --buttonSecondaryHoverIcon: var(--brand);
  --thumbnailBorder: 1px solid var(--thumbnailBorderColor);
}
body #page-container :is(.brandBackground, .heroCenterBrand, .cardBrand, .cardOverlayBrand, .cardOverlayGradientBrand) {
  --buttonLinkHoverText: var(--accent);
  --buttonLinkAccent: var(--accent);
  --floatingSecondaryBg: var(--brandLight);
  --floatingSecondaryHoverBg: var(--white);
  --floatingSecondaryHoverIcon: var(--dark);
  --editorialAccent: var(--white);
  --quoteBorderColor: var(--accent);
  --backgroundColor: var(--brand);
  --cardColor: var(--brandDark);
  --thumbnailColor: var(--brandLight);
  --thumbnailBorderColor: var(--brandLight);
  --buttonPrimaryBg: var(--accent);
  --buttonPrimaryHoverBg: var(--dark);
  --buttonPrimaryText: var(--dark);
  --buttonPrimaryHoverText: var(--white);
  --buttonPrimaryIcon: var(--brand);
  --buttonPrimaryHoverIcon: var(--brand);
  --buttonSecondaryBg: var(--brandLight);
  --buttonSecondaryHoverBg: var(--brandDark);
  --buttonSecondaryText: var(--dark);
  --buttonSecondaryHoverText: var(--white);
  --buttonSecondaryIcon: var(--dark);
  --buttonSecondaryHoverIcon: var(--white);
  --thumbnailBorder: 1px solid var(--thumbnailBorderColor);
}
/* Filets, bordures et points de navigation du thème Grey. */
body #page-container :is(.greyBackground, .heroCenterGrey) {
  --border: 1px solid var(--greyDark);
}

body #page-container :is(.greyBackground, .heroCenterGrey) :is(.et_pb_search, th, td, .logofolio-grille > .et_pb_column > .et_pb_image),
body #page-container :is(.greyBackground, .heroCenterGrey) .et_pb_post .post-meta .entry-categories a:not(:hover, :focus-visible) {
  border-color: var(--greyDark) !important;
}

body #page-container :is(.greyBackground, .heroCenterGrey) hr,
body #page-container :is(.greyBackground, .heroCenterGrey) .et_pb_divider::before,
body #page-container :is(.greyBackground, .heroCenterGrey) .et_pb_tabs_controls::after,
body #page-container :is(.greyBackground, .heroCenterGrey) .et_pb_filterable_portfolio .et_pb_portofolio_pagination {
  border-top-color: var(--greyDark) !important;
}

body #page-container :is(.greyBackground, .heroCenterGrey) .et_pb_toggle {
  border-bottom: 1px solid var(--greyDark) !important;
}

body #page-container :is(.greyBackground, .heroCenterGrey) .et_pb_accordion > .et_pb_toggle + .et_pb_toggle {
  border-top: 0 !important;
}

body #page-container :is(.greyBackground, .heroCenterGrey) .et_pb_timeline_connector {
  background-color: var(--greyDark) !important;
}

body #page-container :is(.greyBackground, .heroCenterGrey) :is(.et_pb_group_carousel_dot, .et-pb-controllers a, .swiper-pagination-bullet) {
  background-color: var(--greyDark) !important;
  opacity: 1 !important;
}

body #page-container :is(.greyBackground, .heroCenterGrey) :is(.et_pb_group_carousel_dot_active, .et_pb_group_carousel_dot.active, .et-pb-controllers .et-pb-active-control, .swiper-pagination-bullet-active) {
  background-color: var(--greyDark) !important;
  box-shadow: 0 0 0 2px var(--backgroundColor), 0 0 0 3px var(--greyDark);
}

/* Le contour neutre reste visible au survol dans le theme light. */
body #page-container .lightBackground { --thumbnailHoverBorderColor: var(--thumbnailBorderColor); }
body #page-container :is(.greyBackground,.darkBackground,.brandBackground) { --thumbnailHoverBorderColor: transparent; }
body #page-container :is(.lightBackground,.greyBackground,.darkBackground,.brandBackground) { background-color: var(--backgroundColor) !important; }
body #page-container .et_pb_section .et_pb_button:not(.et_pb_button_two):not(.buttonLink) { background-color: var(--buttonPrimaryBg) !important; border-color: var(--buttonPrimaryBg) !important; color: var(--buttonPrimaryText) !important; }
body #page-container .et_pb_section .et_pb_button:not(.et_pb_button_two):not(.buttonLink):is(:hover,:focus-visible) { background-color: var(--buttonPrimaryHoverBg) !important; border-color: var(--buttonPrimaryHoverBg) !important; color: var(--buttonPrimaryHoverText) !important; }
body #page-container .et_pb_section .et_pb_button:not(.et_pb_button_two):not(.buttonLink)::after { color: var(--buttonPrimaryIcon) !important; opacity: 1 !important; visibility: visible !important; display: inline-block !important; position: relative !important; left: auto !important; right: auto !important; top: auto !important; transform: none !important; transition: padding-left .25s ease, color .25s ease !important; margin-left: 0 !important; padding-left: .5em !important; }
body #page-container .et_pb_section .et_pb_button:not(.et_pb_button_two):not(.buttonLink):is(:hover,:focus-visible)::after { color: var(--buttonPrimaryHoverIcon) !important; transform: none !important; padding-left: 1.15em !important; }
body #page-container .et_pb_section .et_pb_button.et_pb_button_two:not(.buttonLink) { background-color: var(--buttonSecondaryBg) !important; border-color: var(--buttonSecondaryBg) !important; color: var(--buttonSecondaryText) !important; }
body #page-container .et_pb_section .et_pb_button.et_pb_button_two:not(.buttonLink):is(:hover,:focus-visible) { background-color: var(--buttonSecondaryHoverBg) !important; border-color: var(--buttonSecondaryHoverBg) !important; color: var(--buttonSecondaryHoverText) !important; }
body #page-container .et_pb_section .et_pb_button.et_pb_button_two:not(.buttonLink)::after { color: var(--buttonSecondaryIcon) !important; opacity: 1 !important; visibility: visible !important; display: inline-block !important; position: relative !important; left: auto !important; right: auto !important; top: auto !important; transform: none !important; transition: padding-left .25s ease, color .25s ease !important; margin-left: 0 !important; padding-left: .5em !important; }
body #page-container .et_pb_section .et_pb_button.et_pb_button_two:not(.buttonLink):is(:hover,:focus-visible)::after { color: var(--buttonSecondaryHoverIcon) !important; transform: none !important; padding-left: 1.15em !important; }
body #page-container :is(.card,.cardBox,.card):not(.et_clickable):not(a) { background-color: var(--cardColor) !important; box-shadow: none !important; }
body #page-container :is(.thumbnail,.cardShadow,.card.et_clickable,.cardBox.et_clickable,.card.et_clickable) { background-color: var(--thumbnailColor) !important; border: var(--thumbnailBorder) !important; }
body #page-container :is(.thumbnail,.cardShadow,.card.et_clickable,.cardBox.et_clickable,.card.et_clickable):is(:hover,:focus-visible,:focus-within) { box-shadow: var(--thumbnailShadowHover) !important; border-color: var(--thumbnailHoverBorderColor, var(--thumbnailBorderColor)) !important; }

/* Paddings du bouton constants ; seul le padding gauche de l'icone grandit. */
body #page-container .et_pb_section .et_pb_button:not(.buttonLink) {
  padding-left: 1em !important;
  padding-right: 1em !important;
}
body #page-container .et_pb_section .et_pb_button:not(.buttonLink):is(:hover, :focus-visible) {
  padding-left: 1em !important;
  padding-right: 1em !important;
}

/* Finitions communes : cartes, meta, citations et rythme texte/bouton. */
body #page-container .et_pb_section .cardShadow:hover {
  border-color: var(--thumbnailHoverBorderColor, var(--thumbnailBorderColor)) !important;
}
body #page-container .et_pb_post_title :is(.author, .vcard),
body #page-container .et_pb_post_title :is(.author, .vcard) a {
  color: var(--editorialAccent, var(--brand)) !important;
}
body #page-container blockquote {
  border-left-color: var(--quoteBorderColor, var(--brand)) !important;
}
body #page-container .et_pb_text:has(+ .et_pb_button_module_wrapper),
body #page-container .et_pb_text:has(+ .et_pb_button) {
  margin-bottom: var(--spaceM, 1.5rem) !important;
}

/* Boutons secondaires des rangees flottantes, selon le theme le plus proche. */
body #page-container :is(.card, .et_pb_fullwidth_header) .et_pb_button.et_pb_button_two:not(.buttonLink) {
  --buttonSecondaryBg: var(--floatingSecondaryBg);
  --buttonSecondaryHoverBg: var(--floatingSecondaryHoverBg);
  --buttonSecondaryHoverText: var(--dark);
  --buttonSecondaryHoverIcon: var(--floatingSecondaryHoverIcon);
}

/* Appliquer les fonds directement pour prioriser les boutons de ces blocs. */
body #page-container .et_pb_section :is(.card, .et_pb_fullwidth_header) .et_pb_button.et_pb_button_two:not(.buttonLink) {
  background-color: var(--floatingSecondaryBg, var(--white)) !important;
  border-color: var(--floatingSecondaryBg, var(--white)) !important;
}
body #page-container .et_pb_section :is(.card, .et_pb_fullwidth_header) .et_pb_button.et_pb_button_two:not(.buttonLink):is(:hover, :focus-visible) {
  background-color: var(--floatingSecondaryHoverBg, var(--greyDark)) !important;
  border-color: var(--floatingSecondaryHoverBg, var(--greyDark)) !important;
  color: var(--dark) !important;
}

/* Liens discrets : contraste du texte au survol selon le theme. */
body #page-container .et_pb_section .et_pb_button.buttonLink:is(:hover, :focus-visible),
body #page-container .et_pb_section .buttonLink:is(:hover, :focus-visible) {
  color: var(--buttonLinkHoverText, var(--buttonLinkText)) !important;
}

/* =========================================================
   CARDS - surfaces réutilisables sur les modules et conteneurs Divi.
   Fond uni : cardLight, cardGrey, cardDark, cardBrand, cardAccent.
   Photo : cardOverlay[Couleur] ou cardOverlayGradient[Couleur].
   ========================================================= */

body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section):is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) {
  --cardInset: var(--spaceM);
  --buttonLinkText: var(--cardText);
  position: relative;
  isolation: isolate;
  border-radius: var(--radiusLarge) !important;
  padding: var(--cardInset) !important;
  background-color: var(--cardTint) !important;
  color: var(--cardText) !important;
}

body #page-container :is(.cardLight, .cardOverlayLight, .cardOverlayGradientLight) {
  --cardTint: var(--white);
  --cardText: var(--darkDark);
}

body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section).cardLight,
body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section).cardLight:is(:hover, :focus-visible, :focus-within) {
  border: 1px solid var(--grey) !important;
}

body #page-container :is(.cardGrey, .cardOverlayGrey, .cardOverlayGradientGrey) {
  --cardTint: var(--grey);
  --cardText: var(--darkDark);
}

body #page-container :is(.cardDark, .cardOverlayDark, .cardOverlayGradientDark) {
  --cardTint: var(--dark);
  --cardText: var(--white);
}

body #page-container :is(.cardBrand, .cardOverlayBrand, .cardOverlayGradientBrand) {
  --cardTint: var(--brand);
  --cardText: var(--white);
}

body #page-container :is(.cardAccent, .cardOverlayAccent, .cardOverlayGradientAccent) {
  --cardTint: var(--accent);
  --cardText: var(--darkDark);
}

/* Cards unies sur un fond de même couleur : teinte claire. */
body #page-container .greyBackground .cardGrey,
body #page-container .greyBackground.cardGrey {
  --cardTint: var(--greyLight);
}
body #page-container .darkBackground .cardDark,
body #page-container .darkBackground.cardDark {
  --cardTint: var(--darkLight);
}
body #page-container .brandBackground .cardBrand,
body #page-container .brandBackground.cardBrand {
  --cardTint: var(--brandLight);
}

body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section):is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) :is(h1, h2, h3, h4, h5, h6, p, li, .et_pb_text_inner, .et_pb_module_header, .et_pb_module_header a, .et_pb_blurb_description) {
  color: var(--cardText) !important;
}

/* Voile uni sur la photo définie dans l'arrière-plan du module. */
body #page-container :is(.cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) {
  --cardOverlayFill: color-mix(in srgb, var(--cardTint) 82%, transparent);
}

/* Dégradé renforcé en bas, haut de l'image dégagé. */
body #page-container :is(.cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) {
  --cardOverlayFill: linear-gradient(to top,
    color-mix(in srgb, var(--cardTint) 96%, transparent) 0%,
    color-mix(in srgb, var(--cardTint) 72%, transparent) 28%,
    transparent 65%);
}

/* Les cards en dégradé ne reprennent pas la bordure des blurbs cliquables. */
body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section):is(.cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) {
  border: 0 !important;
}

body #page-container :is(.cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  border-radius: inherit;
  background: var(--cardOverlayFill) !important;
  opacity: 1 !important;
}

/* Les supports d'arrière-plan Divi restent sous le voile. */
body #page-container :is(.cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > :is(.et_parallax_bg_wrap, .et-pb-background-video, .et_pb_section_video_bg, .et_pb_background_pattern, .et_pb_background_mask) {
  z-index: -2;
  border-radius: inherit;
  overflow: hidden;
}

@media (max-width: 767px) {
  body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section):is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) {
    --cardInset: var(--spaceS);
  }
}

/* Modificateur de composition utilisé par les Bentos existants. */
body #page-container .cardContentBottom {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  min-width: 0;
  min-height: 15rem;
  margin: 0 !important;
  text-align: left !important;
}
body #page-container .et_pb_blurb.cardContentBottom .et_pb_blurb_content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body #page-container .et_pb_blurb.cardContentBottom .et_pb_blurb_container {
  padding: 0 !important;
  text-align: left !important;
  overflow-wrap: anywhere;
}

/* Pastille ronde des pictogrammes sur toutes les cards. */
body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section):is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) .et-pb-icon:not(:where(.et_pb_group_carousel_arrow .et-pb-icon, .swiper-button-prev .et-pb-icon, .swiper-button-next .et-pb-icon)) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
  flex: 0 0 auto;
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  height: 2.5rem !important;
  max-height: 2.5rem !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--radiusRound) !important;
  background: color-mix(in srgb, var(--white) 85%, transparent) !important;
  color: var(--brand) !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  vertical-align: middle;
}

/* Pastille facultative, indépendante de la couleur et du voile. */
body #page-container .et_pb_blurb.cardIconTopRight {
  --cardBadgeSize: 2.5rem;
  padding-top: calc(var(--cardInset, var(--spaceM)) + var(--cardBadgeSize) + var(--spaceS)) !important;
}
body #page-container .et_pb_blurb.cardIconTopRight .et_pb_blurb_content {
  position: static !important;
}
body #page-container .et_pb_blurb.cardIconTopRight .et_pb_main_blurb_image {
  position: absolute !important;
  inset: var(--cardInset, var(--spaceM)) var(--cardInset, var(--spaceM)) auto auto !important;
  z-index: 2;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--cardBadgeSize) !important;
  min-width: var(--cardBadgeSize) !important;
  max-width: var(--cardBadgeSize) !important;
  height: var(--cardBadgeSize) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: var(--radiusRound) !important;
  background: color-mix(in srgb, var(--white) 85%, transparent) !important;
  line-height: 1 !important;
}
body #page-container .et_pb_blurb.cardIconTopRight .et_pb_main_blurb_image :is(a, .et_pb_image_wrap, .et_pb_only_image_mode_wrap) {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  text-decoration: none !important;
}
body #page-container .et_pb_blurb.cardIconTopRight .et_pb_main_blurb_image :is(.et-pb-icon, img) {
  display: block !important;
  width: 1.25rem !important;
  min-width: 0 !important;
  max-width: 1.25rem !important;
  height: 1.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--brand) !important;
  font-size: 1.25rem !important;
  line-height: 1 !important;
  object-fit: contain;
}

body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section):is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent):focus-visible,
body #page-container :is(.et_pb_module, .et_pb_column, .et_pb_row, .et_pb_section):is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* Variante haute de composition existante. */
body #page-container .et_pb_blurb.bentoTall {
  min-height: 35rem !important;
}
@media (max-width: 767px) {
  body #page-container .et_pb_blurb.bentoTall {
    min-height: 26rem !important;
  }
}
/* Bento : hauteur réglée dans Divi, picto en haut et texte en bas. */
body #page-container .et_pb_blurb.bento {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  box-sizing: border-box;
  min-width: 0;
}
body #page-container .et_pb_blurb.bento > .et_pb_blurb_content {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  flex: 1 0 auto !important;
  gap: var(--spaceM) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body #page-container .et_pb_blurb.bento > .et_pb_blurb_content > .et_pb_main_blurb_image {
  position: static !important;
  inset: auto !important;
  display: block !important;
  flex: 0 0 auto !important;
  align-self: flex-end !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
}
body #page-container .et_pb_blurb.bento > .et_pb_blurb_content > .et_pb_blurb_container {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: auto 0 0 !important;
  padding: 0 !important;
}
/* FIN BENTO */

/* CARDS EN CARROUSEL
   La classe sur le carrousel habille ses cartes. Une classe sur une
   carte conserve la priorité. Les photos de fond restent réglées par item. */
body #page-container .et_pb_module:is(.et_pb_group_carousel, .dica_divi_carousel):is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) {
  --carouselCardBorder: 0;
  --carouselCardOverlay: none;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-color: transparent !important;
}
body #page-container .et_pb_module:is(.et_pb_group_carousel, .dica_divi_carousel):is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)::before {
  content: none !important;
  display: none !important;
}
body #page-container .et_pb_module:is(.et_pb_group_carousel, .dica_divi_carousel).cardLight {
  --carouselCardBorder: 1px solid var(--grey);
}
body #page-container .et_pb_module:is(.et_pb_group_carousel, .dica_divi_carousel):is(.cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) {
  --carouselCardOverlay: var(--cardOverlayFill);
}
body #page-container .et_pb_group_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .et_pb_blurb:only-child:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)),
body #page-container .et_pb_group_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):not(:has(> .et_pb_blurb:only-child)),
body #page-container .dica_divi_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-container > .swiper-container > .swiper-wrapper > .dica_divi_carouselitem:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  padding: var(--cardInset) !important;
  border: var(--carouselCardBorder) !important;
  border-radius: var(--radiusLarge) !important;
  background-color: var(--cardTint) !important;
  color: var(--cardText) !important;
}
body #page-container .et_pb_group_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .et_pb_blurb:only-child:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent))::before,
body #page-container .et_pb_group_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):not(:has(> .et_pb_blurb:only-child))::before,
body #page-container .dica_divi_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-container > .swiper-container > .swiper-wrapper > .dica_divi_carouselitem:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent))::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  background: var(--carouselCardOverlay);
  opacity: 1;
}
body #page-container .et_pb_group_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):has(> .et_pb_blurb:only-child) {
  overflow: visible !important;
}
body #page-container .et_pb_group_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .et_pb_blurb:only-child:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .et_pb_blurb_content > .et_pb_blurb_container,
body #page-container .dica_divi_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-container > .swiper-container > .swiper-wrapper > .dica_divi_carouselitem:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .dica-item > .dica-item-content {
  padding: 0 !important;
}
body #page-container .dica_divi_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-container > .swiper-container > .swiper-wrapper > .dica_divi_carouselitem:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .dica-item > .dica-image-container {
  margin: 0 0 var(--spaceS) !important;
}
body #page-container .dica_divi_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-container > .swiper-container > .swiper-wrapper > .dica_divi_carouselitem:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .dica-item > .dica-image-container img {
  border-radius: var(--radius) !important;
}
body #page-container .dica_divi_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) .dica-item-content .item-title a,
body #page-container .dica_divi_carousel .dica_divi_carouselitem:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-item .item-title a {
  color: var(--cardText) !important;
}
body #page-container .dica_divi_carousel .dica_divi_carouselitem:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-item,
body #page-container .et_pb_group_carousel > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_blurb:only-child:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) {
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
body #page-container .et_pb_group_carousel > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_blurb:only-child:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .et_pb_blurb_content > .et_pb_blurb_container,
body #page-container .dica_divi_carousel .dica_divi_carouselitem:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-item > .dica-item-content {
  padding: 0 !important;
}
body #page-container .et_pb_group_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .et_pb_blurb:only-child:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > :is(.et_parallax_bg_wrap, .et-pb-background-video, .et_pb_section_video_bg, .et_pb_background_pattern, .et_pb_background_mask),
body #page-container .et_pb_group_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .et_pb_group_carousel_container > .et_pb_group_carousel_track > .et_pb_group_carousel_slide > .et_pb_group:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)):not(:has(> .et_pb_blurb:only-child)) > :is(.et_parallax_bg_wrap, .et-pb-background-video, .et_pb_section_video_bg, .et_pb_background_pattern, .et_pb_background_mask),
body #page-container .dica_divi_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-container > .swiper-container > .swiper-wrapper > .dica_divi_carouselitem:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > :is(.et_parallax_bg_wrap, .et-pb-background-video, .et_pb_section_video_bg, .et_pb_background_pattern, .et_pb_background_mask) {
  z-index: -2 !important;
  border-radius: inherit;
  overflow: hidden;
}
body #page-container .dica_divi_carousel:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent) > .dica-container > .swiper-container > .swiper-wrapper > .dica_divi_carouselitem:not(:is(.cardLight, .cardGrey, .cardDark, .cardBrand, .cardAccent, .cardOverlayLight, .cardOverlayGrey, .cardOverlayDark, .cardOverlayBrand, .cardOverlayAccent, .cardOverlayGradientLight, .cardOverlayGradientGrey, .cardOverlayGradientDark, .cardOverlayGradientBrand, .cardOverlayGradientAccent)) > .dica-item {
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background-color: transparent !important;
  box-shadow: none !important;
}
/* FIN CARDS EN CARROUSEL */

/* FIN CARDS */


/* Boutons des héros : empilement lisible sur téléphone. */
@media (max-width:767px) {
 body #page-container .et-l--post .et_pb_section:first-child .et_pb_group:has(> .et_pb_button_module_wrapper) {flex-direction:column!important;align-items:stretch!important;}
 body #page-container .et-l--post .et_pb_section:first-child .et_pb_group > .et_pb_button_module_wrapper {width:100%!important;flex-basis:auto!important;}
 body #page-container .et-l--post .et_pb_section:first-child .et_pb_group > .et_pb_button_module_wrapper > a {width:100%!important;text-align:center;}
}

/* Hub Compact : pictogrammes de la médiathèque, format icône. */
body #page-container .gutlebenHubCompact .cardGrey .et_pb_blurb_content {display:flex!important;gap:16px!important;align-items:flex-start!important;}
body #page-container .gutlebenHubCompact .cardGrey .et_pb_main_blurb_image {width:60px!important;min-width:60px!important;flex:0 0 60px!important;margin:0!important;}
body #page-container .gutlebenHubCompact .cardGrey .et_pb_main_blurb_image img {width:60px!important;height:60px!important;object-fit:contain!important;}
body #page-container .gutlebenHubCompact .cardGrey .et_pb_blurb_container {width:auto!important;min-width:0!important;flex:1!important;padding:0!important;}

body #page-container .gutlebenHubCompact .cardGrey .et_pb_blurb_content {flex-direction:row!important;}


/* Logo du header : largeur maximale demandée. */
html body #page-container #main-header #logo { max-width:250px !important; }

/* Votre parcours : cards Brand et pictogrammes sur pastille blanche. */
body #page-container .parcoursCard.cardBrand {--cardText:var(--darkDark);}
body #page-container .parcoursCard .et_pb_blurb_content {display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:16px!important;}
body #page-container .parcoursCard .et_pb_main_blurb_image {display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 72px!important;width:72px!important;min-width:72px!important;height:72px!important;margin:0!important;padding:10px!important;background:var(--white)!important;border-radius:50%!important;}
body #page-container .parcoursCard .et_pb_main_blurb_image img {display:block!important;width:52px!important;height:52px!important;object-fit:contain!important;}
body #page-container .parcoursCard .et_pb_blurb_container {width:auto!important;min-width:0!important;flex:1!important;padding:0!important;}

/* Pastilles Votre parcours : centrage du lien et du wrapper image Divi. */
body #page-container .et_pb_blurb.parcoursCard .et_pb_main_blurb_image {
 position:relative!important;inset:auto!important;box-sizing:border-box!important;
 width:72px!important;min-width:72px!important;max-width:72px!important;height:72px!important;padding:10px!important;
}
body #page-container .et_pb_blurb.parcoursCard .et_pb_main_blurb_image :is(a,.et_pb_image_wrap,.et_pb_only_image_mode_wrap) {
 position:static!important;inset:auto!important;transform:none!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;
 margin:0!important;padding:0!important;border:0!important;background:transparent!important;
}
body #page-container .et_pb_blurb.parcoursCard .et_pb_main_blurb_image img {
 position:static!important;inset:auto!important;transform:none!important;margin:0!important;padding:0!important;
 width:52px!important;min-width:0!important;max-width:52px!important;height:52px!important;object-fit:contain!important;
}
